Перекодировать строчку из tpl в twig

Тема в разделе "Общие вопросы", создана пользователем Sanik, 26 дек 2017.

  1. Sanik

    Sanik Активный пользователь

    Сообщения:
    299
    Симпатии:
    3
    Как вот такую строчку перевести?
    Код:
    style="max-height:<?php list($width, $height, $type, $attr) = getimagesize("$thumb"); echo $height; ?>px;max-width:<?php echo $width; ?>px;"
     
  2. Chukcha

    Chukcha Специалист

    Сообщения:
    3.013
    Симпатии:
    685
  3. alf89

    alf89 Пользователь

    Сообщения:
    79
    Симпатии:
    9
    style="max-height:{% set width, height, type, attr = getimagesize(thumb) %} {{ height }}px;max-width:{{ width }}px;"
     
  4. Chukcha

    Chukcha Специалист

    Сообщения:
    3.013
    Симпатии:
    685
    @alf89 Стесняюсь спросить - вы проверили?
    А в твиге можно вызывать php функции?
     
  5. alf89

    alf89 Пользователь

    Сообщения:
    79
    Симпатии:
    9
    Здравствуйте. нет не проверял.
    ну по идее ее достаточно обернуть в фигурные скобки но я могу и ошибаться
     
  6. Chukcha

    Chukcha Специалист

    Сообщения:
    3.013
    Симпатии:
    685
    Для этого нужно создать твиг расширение, подключить

    А проще все это передавать и делать в контроллере
     
    Sanik нравится это.
  7. Sanik

    Sanik Активный пользователь

    Сообщения:
    299
    Симпатии:
    3
    Спасибо. Так и сделал...
     
  8. Sanik

    Sanik Активный пользователь

    Сообщения:
    299
    Симпатии:
    3
    Добрый день. А вот как переписать из twig в php? Подобного конвертора не нашел нигде, есть вот такой кусок кода
    Код:
                                    {% for price_name in dealer_detail.price_names %}
                                        {% set id_string = '' %}
                                        {% for field in price_name %}
                                            {% set id_string = id_string ~ '_' ~ field %}
                                        {% endfor %}
    {% endfor %}
    
    Как то так начал делать
    Код:
                                    <?php foreach ($dealer_detail[$price_names] as $price_name) { ?>
                                        <?php $id_string = ''; ?>
                                        <?php foreach ($price_name as $field) { ?>
                                            {% set id_string = id_string ~ '_' ~ field %}
                                        <?php } ?>
    <?php } ?>
    
    Не знаю, как правильно строчку {% set id_string = id_string ~ '_' ~ field %} переписать, да и не знаю, остальное правильно ли сделал...
     
  9. Chukcha

    Chukcha Специалист

    Сообщения:
    3.013
    Симпатии:
    685
  10. Sanik

    Sanik Активный пользователь

    Сообщения:
    299
    Симпатии:
    3
    Я понял, отредактировал сообщение выше..
     
  11. Chukcha

    Chukcha Специалист

    Сообщения:
    3.013
    Симпатии:
    685
  12. Sanik

    Sanik Активный пользователь

    Сообщения:
    299
    Симпатии:
    3
    Что то всеравно не правильно выходит
    Код:
    <?php foreach ($dealer_detail[$price_names] as $price_name) { ?>
                                        <?php $id_string = ''; ?>
                                        <?php foreach ($price_name as $field) { ?>
                                            <?php $id_string = id_string . '_' . field; ?>
                                        <?php } ?>
    <?php } ?>
    Ошибка в первой строчке остается
    Notice: Undefined variable: dealer_detail in
     
  13. Chukcha

    Chukcha Специалист

    Сообщения:
    3.013
    Симпатии:
    685
  14. Chukcha

    Chukcha Специалист

    Сообщения:
    3.013
    Симпатии:
    685
    $id_string = $id_string . '_' . $field;
     
    Sanik нравится это.
  15. Sanik

    Sanik Активный пользователь

    Сообщения:
    299
    Симпатии:
    3
    Спасибо, а есть ли онлайн сирвис, который конвертирует twig в tpl? Всетаки со сложныма строками кода сложно работать, ь вот дальше не могу разобраться..
    Код:
                                    {% if dealers_list.smss.name_price_upd[price.price_id] is defined %}
                                        {% set sms_id = dealers_list.smss.name_price_upd[price.price_id]['cmd_id'] %} 
                                    {% endif %}
     
  16. Chukcha

    Chukcha Специалист

    Сообщения:
    3.013
    Симпатии:
    685
  17. Sanik

    Sanik Активный пользователь

    Сообщения:
    299
    Симпатии:
    3
    Там слишком много вложенностей, это я не могу понять, как все это и в какие кавычки запихнуть
     
  18. Chukcha

    Chukcha Специалист

    Сообщения:
    3.013
    Симпатии:
    685
    dealers_list.smss.name_price_upd[price.price_id]

    price.price_id -> $price['price_id']

    name_price_upd[price.price_id] -> $name_price_upd[$price['price_id']

    dealers_list.smss.name_price_upd[price.price_id] - > dealers_list[$name_price_upd[$price['price_id']]

    Но здесь реально нужно смотреть массив и его ключи - dealers_list
     
  19. Sanik

    Sanik Активный пользователь

    Сообщения:
    299
    Симпатии:
    3
    Всетаки одной строчкой никак не получится перекодировать данный кусок кода?
     
    Последнее редактирование: 8 авг 2018
  20. Sanik

    Sanik Активный пользователь

    Сообщения:
    299
    Симпатии:
    3
    Правильно ли сделал из?
    {% if dealers_list.smss.name_price_upd[price.price_id] is defined %}
    в
    <?php if (isset($dealers_list[$smss]['name_price_upd'][$price['price_id']])) { ?>