Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

To twig or not to twig? И другие вопросы связанные с переносом модулей на OpenCart 3


Recommended Posts

Все кроме меня уже наверное перенесли свои модули на 3 версию или по крайней мере начали этот процесс. Следовательно вопросы кто как делает

 

1. Переписываете ли все шаблоны на twig или оставляете на старом шаблонизаторе. Последнее очень соблазнительно в силу того, что не нужно тратить кучу времени на перенос на twig, но как мне кажется менее кошерно, так как весь движок уже перешел на twig и очень желательно чтобы все модули тоже работали на нем же, а не использовали какие-то костыли, тем более что из модулей придется свой код добавлять в twig шаблоны через ocmod и получится что в одном модуле будет каша из разных шаблонов. Но с другой стороны строгого правила делать именно так я нигде не видел. Поэтому кто что по этому поводу думает?

 

2. Как собирать модули. Вроде как стандартом под 3 версию есть архив модуля, который можно полностью загружать и устанавливать через админку. Но далеко не у всех пользователей это настроено на сервере и загрузить таким способом не все смогут. Поэтому опять кто как делает?
Тут кстати, если я правильно понимаю, то вижу потенциальную дыру в безопасности. Ведь для того, чтобы загружать модули через админку нужно чтобы все файлы и каталоги имели владельца www-data а дав всем файлам и каталогам такого владельца мы даем возможность любому php скрипту сделать с любым файлом все что угодно. 

Надіслати
Поділитися на інших сайтах

Ой..
2. Есть доступные директории куда можно грузить

5 минут назад, sv2109 сказал:

Ведь для того, чтобы загружать модули через админку нужно чтобы все файлы и каталоги имели владельца www-data а дав всем файлам и каталогам такого владельца мы даем возможность любому php скрипту сделать с любым файлом все что угодно. 

И... Что ты хочешь предложить?

 

 

1, Да на твиге, а в чем проблема,?

 

 

Надіслати
Поділитися на інших сайтах

1 hour ago, chukcha said:

 

И... Что ты хочешь предложить?

 

да вот даже в 2.3 была возможность грузить файлы через фтп при установке модулей, это и намного проще настроить пользователю (так как фтп доступ у всех есть, прописал 1 раз  и все) и безопаснее (в плане доступа к файлам из php скриптов, конечно хранить фтп доступы открыто в настройках это тоже дыра та еще) но в 3 версии это удалили, спрашивается зачем?

 

1 hour ago, chukcha said:

 

1, Да на твиге, а в чем проблема,?

 

Проблему я описал выше, она заключается в том, что для каждого модуля нужно переделывать все шаблоны + так как twig менее функционален и многих функций там нету + своя специфика, то для каких-то сложных шаблонов нужно потратить прилично времени. С другой стороны 2 строчками кода можно подключить к своему модулю шаблон на старом движке и все на ура будет работать и весь перенос модуля с 2 на 3 займет считанные минуты вместо часов. 

Надіслати
Поділитися на інших сайтах

2 часа назад, sv2109 сказал:

Все кроме меня уже наверное перенесли свои модули на 3 версию или по крайней мере начали этот процесс. Следовательно вопросы кто как делает

 

1. Переписываете ли все шаблоны на twig или оставляете на старом шаблонизаторе. Последнее очень соблазнительно в силу того, что не нужно тратить кучу времени на перенос на twig, но как мне кажется менее кошерно, так как весь движок уже перешел на twig и очень желательно чтобы все модули тоже работали на нем же, а не использовали какие-то костыли, тем более что из модулей придется свой код добавлять в twig шаблоны через ocmod и получится что в одном модуле будет каша из разных шаблонов. Но с другой стороны строгого правила делать именно так я нигде не видел. Поэтому кто что по этому поводу думает?

 

И twig и tpl а в модуле выбор шаблонизатора
tpl в twig один кликом то ;)

https://phptotwig.com/

  • +1 1
Надіслати
Поділитися на інших сайтах

Не совсем одним, но очень приличный инструмент

Т.е. если нет наворотов шаблонах, что можно было позволить себе в php, то да

 

13 минут назад, sv2109 сказал:

это удалили, спрашивается зачем?

Уходим в облака.

 

Надіслати
Поділитися на інших сайтах

7 minutes ago, markimax said:

И twig и tpl а в модуле выбор шаблонизатора
tpl в twig один кликом то ;)

https://phptotwig.com/

ну я использовал php2twig.com 
но "одним кликом" это только в теории получается, а реально там потом еще куча времени нужно потратить, чтобы все заработало, так как
1. на сложных условиях (когда много вложенностей циклов и условий) он постоянно неправильно закрывает эти условия и ничего не работает
2. на тернарных операторах тоже лаги постоянные
3. сложные архивы делает не правильно,
напр. из  $description[$language['language_id']]['name']
делает description.language.language_id.name
а нужно description[language.language_id].name
4. если раньше в шаблонах можно было на крайний случай использовать немного php кода, но с twig-ом это не пройдет и нужно переделывать логику, все выносить в контроллер. 

Надіслати
Поділитися на інших сайтах

Это кажется, есть фильтры

{{ var|lower }}

 

Я пару раз сталкивался с "утяжелением", но каждый раз все получалось

 

Как совет - при разработке включить strict

 

Надіслати
Поділитися на інших сайтах

29 минут назад, sv2109 сказал:

ну я использовал php2twig.com 
 

В мусорку php2twig.com 

В https://phptotwig.com/  не надо потом допиливать ничего

  • +1 2
Надіслати
Поділитися на інших сайтах

Да, еще одним плюсом для twig-а в опенкарт является то, что в опенкарт 3 есть редактор тем, думаю пользователям он очень понравится и все будут активно его использовать для мелких правок, а он только twig поддерживает. Так что php шаблонизатор как бы удобен не был, но наверное в опенкарт 3 и дальше от него придется отказаться. 

 

19 minutes ago, markimax said:

В мусорку php2twig.com 

В https://phptotwig.com/  не надо потом допиливать ничего

спасибо, попробую. 

Надіслати
Поділитися на інших сайтах

1 минуту назад, sv2109 сказал:

все будут активно его использовать для мелких правок,

Не будут :(

 

Потому что к ним не применяется ocmod

Надіслати
Поділитися на інших сайтах

  • 3 weeks later...

Ссори за оффтоп, Но как по мне, то разговор о тпл на 3-ке, это как на 2-ке о vqmod, когда некоторым авторам просто лень переделать свой хмл. Надеюсь на тройку vqmod уже тулить не будут 

Надіслати
Поділитися на інших сайтах

15 часов назад, chukcha сказал:

уже тулят

А потом клиенты прибегают и кричат , надо версию обновить, а то сильно все тормозит :)

Надіслати
Поділитися на інших сайтах

1 час назад, VTstudio сказал:

А потом клиенты прибегают и кричат , надо версию обновить, а то сильно все тормозит :)

Спорный вопрос, тормоза есть, но такие ли они критичные?

Надіслати
Поділитися на інших сайтах

19 hours ago, VTstudio said:

Ссори за оффтоп, Но как по мне, то разговор о тпл на 3-ке, это как на 2-ке о vqmod, когда некоторым авторам просто лень переделать свой хмл. 

да, вы правы, и достаточно точная аналогия.

Надіслати
Поділитися на інших сайтах

5 минут назад, sv2109 сказал:

да, вы правы, и достаточно точная аналогия.

А что там "переделывать" :)
Один клик правильного (сделанного согласно требований opencart) tpl и уже twig

https://phptotwig.com/

Проверено - идеально без ошибок конвертирует

Надіслати
Поділитися на інших сайтах

конвертирует без ошибок простое
но не в стиле twig OC - доступ к полям массива

Не совсем корректно отрабатывает "фильтры", например  count(array)  array|length

  • +1 1
Надіслати
Поділитися на інших сайтах

6 минут назад, chukcha сказал:

конвертирует без ошибок простое
но не в стиле twig OC - доступ к полям массива

Не совсем корректно отрабатывает "фильтры", например  count(array)  array|length

Согласно стандартов синтаксиса twig
Просто кому как "нравится" :)

Надіслати
Поділитися на інших сайтах

Вот наступил тот прекрасный момент, когда опенкарт из цмс превращается в в фреймверк, подключают нормальный шаблонизатор, гляди теперь в вьюхе мы не увидим обращений на БД. Но Нет, будем ставить тпл и vqmod. В целом конечно это дело каждого разработчика, но то что я вижу, так это - если человек делает на совесть да еще и с последующим обслуживанием, то он не будет создавать себе гемор, а если так что бы на от..сь и просто срубить и побежать искать ло Клиента дальше, то это как правило тема, vqmod и хренова туча модулей, ну вот на тройке добавится еще и тпл. 

Надіслати
Поділитися на інших сайтах

32 минуты назад, VTstudio сказал:

ну вот на тройке добавится еще и тпл. 

Я не думаю, что это не будет массовым явлением, кроме того, чтобы загрузить tpl, нужно .. или событие, или ломать шаблонизатор..

 

Кроме того, vqmod придется ручками грузить, а вот  двойка постепенно отучала
Так что

Надіслати
Поділитися на інших сайтах

2 минуты назад, chukcha сказал:

Кроме того, vqmod придется ручками грузить, а вот  двойка постепенно отучала
Так что

ХЗ, 90% того что доводилось видеть за этот год с 

Цитата

Доработайте, ато тормозит

это дофига модулй половина на vqmod

Надіслати
Поділитися на інших сайтах

1 hour ago, VTstudio said:

Вот наступил тот прекрасный момент, когда опенкарт из цмс превращается в в фреймверк, подключают нормальный шаблонизатор, гляди теперь в вьюхе мы не увидим обращений на БД. Но Нет, будем ставить тпл и vqmod. В целом конечно это дело каждого разработчика, но то что я вижу, так это - если человек делает на совесть да еще и с последующим обслуживанием, то он не будет создавать себе гемор, а если так что бы на от..сь и просто срубить и побежать искать ло Клиента дальше, то это как правило тема, vqmod и хренова туча модулей, ну вот на тройке добавится еще и тпл. 

любая технология это просто инструмент, а от того какой на выходе получится код зависит больше от разработчика, можно написать хороший код на tpl без обращений к базе, кучи логики внутри итд, а можно написать плохой код и на twig 
 

 

51 minutes ago, chukcha said:

кроме того, чтобы загрузить tpl, нужно .. или событие, или ломать шаблонизатор..

 

я так пробовал, 1 строчка кода и все работает:

$this->registry->get('config')->set('template_engine', 'Template');
$this->response->setOutput($this->load->view('extension/module/my_module', $data));		

 

Надіслати
Поділитися на інших сайтах

В 24.12.2017 в 17:46, sv2109 сказал:

я так пробовал, 1 строчка кода и все работает:

 

А что будет дальше, после изменения глобального конфига?

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.