OCMOD [ обсуждение функционала итд ]

Тема в разделе "Модули и дополнения", создана пользователем optimlab, 9 июн 2015.

  1. optimlab

    optimlab Продвинутый пользователь

    Сообщения:
    818
    Симпатии:
    217
    У меня несколько вопросов:
    1. В новой версии файлы стилей и скриптов подключаются прямо в шаблоне шапки. А как быть при изменении их в модификации? Каждый раз догружать новый файл? Что я считаю неправильным подходом? Раньше они были в контроллере, а сейчас просто файлами. Как делаете модификации вы?
    2. Как быть с другими шаблонами дизайна, если в модификаторе стоит theme/default ? Тогда модификатор не подойдёт под другой шаблон дизайна?
     
  2. Romans

    Romans Administrator Команда форума

    Сообщения:
    1.339
    Симпатии:
    698
    Они и сейчас в контроллере, просто скриптов и стилей стало больше и многие из них не нуждаются в подключении через контроллер.

    в документации описан же случай. Поиск файлов происходит на основе php функции glob c GLOB_BRACE т.е можно написать звездочку * вместо default и тогда поиск и изменения будут производится во всех директориях.
     
  3. optimlab

    optimlab Продвинутый пользователь

    Сообщения:
    818
    Симпатии:
    217
    Со вторым разобрался. Невнимательно читал доки.
    А вот с первым не понял.

    Цель: Модификатором произвести замены в скриптах и стилях.

    Но в контроллере не нашел такой записи за что можно зацепиться.

    Как я вижу в темплейте стоят 2 цикла вывода массивов стилей и скриптов. Но это для вывода дочерних темлейтов таких как home, product, category.

    А как мне например добавить свой код стиля в
    HTML:
    <link href="catalog/view/theme/default/stylesheet/stylesheet.css" rel="stylesheet">
    я не понял и запутался. Может это не предусмотрено изначально и по этой причине они вписываются в шаблон вручную?
    В гугле ответов не нашел.

    Вы не могли бы прояснить ситуацию если знаете ответ?
     
    Последнее редактирование: 9 июн 2015
  4. Romans

    Romans Administrator Команда форума

    Сообщения:
    1.339
    Симпатии:
    698
    через модификатор не добавляют. Обычно или внедряют прямо в шаблон или просто подключают файл стилей по ссылке (т.е делают запись в header.tpl)

    делайте замену в соответствующем контролере, если их нет в header.tpl
     
  5. tsap

    tsap Продвинутый пользователь

    Сообщения:
    230
    Симпатии:
    131
    у меня такой вопрос, в документации написано:
    пробовал не работает, у всех так и есть ли какой выход?
     
  6. Ален

    Ален Эксперт

    Сообщения:
    2.055
    Симпатии:
    634
    вот пример из окмода хлебных крошек. И все работает
    Код:
    <file path="catalog/view/theme/*/template/{product,information,checkout,account}/*.tpl">
     
  7. optimlab

    optimlab Продвинутый пользователь

    Сообщения:
    818
    Симпатии:
    217
    Я пробовал у меня работает. Может вы неправильно конструкцию составляете. Если бы показали участок кода, тогда можно было бы говорить предметно. А так у вас ошибка может быть от и до. Вариантов много можно придумать...
     
  8. tsap

    tsap Продвинутый пользователь

    Сообщения:
    230
    Симпатии:
    131
    найду модификатор, в котором пытался применить подобную конструкцию, покажу код
     
  9. tsap

    tsap Продвинутый пользователь

    Сообщения:
    230
    Симпатии:
    131
    пробовал на версии 2.0.3.1 (rs.1)
    пишу мод:
    Код:
    <file path="catalog/controller/product/{category,search,special}*.php">
                           <operation>
                                       <search><![CDATA[
                                        'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get('config_product_description_length')) . '..',
                                        ]]>
                                       </search>
                                       <add position="replace"><![CDATA[
                                        'description' => html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8'),
                                        ]]>
                                       </add>
                           </operation>
                </file>
    устанавливаю, иду сюда system/modification/catalog/controller/
    не создается даже папка product
    пробовал так:
    Код:
    <file path="catalog/controller/product/{category,search,special}*.php">
    тоже без результата
    а вот так:
    Код:
    <file path="catalog/controller/product/*.php">
    без проблем. создалась соответствующая папка и файлы, где встретился искомый код
     
  10. Ravilr

    Ravilr Специалист

    Сообщения:
    3.158
    Симпатии:
    874
    @Ален привел пример, а вы не посмотрели ))
    вот так должно работать
    <file path="catalog/controller/product/{category,search,special}/*.php">
     
  11. tsap

    tsap Продвинутый пользователь

    Сообщения:
    230
    Симпатии:
    131
    я не согласен, вы исказили его строку
     
  12. Ravilr

    Ravilr Специалист

    Сообщения:
    3.158
    Симпатии:
    874
    точно исказил ((
     
  13. Ravilr

    Ravilr Специалист

    Сообщения:
    3.158
    Симпатии:
    874
    вот так у вас должно быть
    Код:
    <file path="catalog/controller/product/{category.php,search.php,special.php}">
     
  14. mars1an

    mars1an Специалист

    Сообщения:
    621
    Симпатии:
    500
    Так же должно быть - обрабатываются 3 php файла в фигурных скобках:
    Код:
    <file path="catalog/controller/product/{category,search,special}.php">
     
  15. tsap

    tsap Продвинутый пользователь

    Сообщения:
    230
    Симпатии:
    131
    для чистоты эксперимента установил новую сборку 2.0.3.1 (rs.1)
    перепробовал такие варианты
    Код:
    <file path="catalog/controller/product/{category,search,special}.php">
    <file path="catalog/controller/product/{category.php,search.php,special.php}">
    <file path="catalog/controller/{product,module}/*.php">
    <file path="catalog/controller/module/{bestseller.php,latest.php,special.php}">
    <file path="catalog/controller/module/{bestseller,latest,special}.php">
    
    не работает, может проблемы хостинга?
     
  16. Ravilr

    Ravilr Специалист

    Сообщения:
    3.158
    Симпатии:
    874
  17. tsap

    tsap Продвинутый пользователь

    Сообщения:
    230
    Симпатии:
    131
    phpinfo говорит что PHP Version 5.3.29
     
  18. Ravilr

    Ravilr Специалист

    Сообщения:
    3.158
    Симпатии:
    874
    блин. Все оказалось просто. Оказывается удален флаг GLOB_BRACE начиная с 2.0.2.0 :(
    Потому и не работает такие фишки как {catalog etc}
    Как то все тихо произошло... никто и не заметил...
     
    Zlata Jesen, Romans, tsap и ещё 1-му нравится это.
  19. mars1an

    mars1an Специалист

    Сообщения:
    621
    Симпатии:
    500
    Нифига се новости. Многострочного поиска нет, так ещё и GLOB_BRACE оттяпали.
     
  20. Ravilr

    Ravilr Специалист

    Сообщения:
    3.158
    Симпатии:
    874
    ну да.. была радость но не долго.