yupe / yupe

Yupe! is an open source Yiiframework-based online e-commerce solution. Demo https://demo.yupe.ru/
https://yupe.ru
Other
599 stars 276 forks source link

Продвинутая работа с темами #817

Closed alpharder closed 10 years ago

alpharder commented 11 years ago

Если кто работал с Drupal - тот сразу поймёт. Предлагаю такое:

Всё это предлагаю реализовать в намечающемся модуле appearance #813

Я готов взяться с вашей помощью, только нужно утвердить функционал

im-kulikov commented 11 years ago

Тема сопровождается INI-файлом

Как вы считаете, может всё-таки в JSON будет проще?

Тема = папка в themes

Тема_backend = тема для админки (у нас сейчас так)

Тема может "наследоваться" от другой темы. То бишь когда нужного файла в теме-потомке нет, файл берётся из темы-родителя. Очень удобно.

Поддерживаю, отличная идея

В админ-панели можно выбирать тему (список со скриншотами, названиями и описаниями и т.п.), устанавливать новую из архива.

Ну, собственно, сюда же прикрутить редактор для тем и будет вообще отлично =)

Всё это предлагаю реализовать в намечающемся модуле appearance #813

Да, идея очень хорошая, я поддерживаю

Я готов взяться с вашей помощью, только нужно утвердить функционал

Ещё бы доработать #798 , так мы получим мини-API для тем, что было бы также замечательно

mikspark commented 11 years ago

Ещё бы доработать #798 , так мы получим мини-API для тем, что было бы также замечательно

хочу api :) это будет счастье просто

im-kulikov commented 11 years ago

Да, было бы действительно хорошо, если бы у нас появилось внутреннее API для построения тем =)

alpharder commented 11 years ago

Хорошо, понял ваше одобрение. У меня есть наработки, предоставлю прототип как руки дойдут :)

im-kulikov commented 11 years ago

Отлично, договорились =)

alpharder commented 11 years ago

Как вы считаете, может всё-таки в JSON будет проще?

Да, я сделал на основе JSON. Это удобно и быстро работает.

im-kulikov commented 11 years ago

Вот и замечательно. Если что-то от нас потребуется (помощь в разработке, предложения, тестирования) будем рады помочь.

alpharder commented 11 years ago

https://github.com/alphard-code/yupe/tree/817-appearance Вот здесь ветка с модулем appearance

alpharder commented 11 years ago

Для того, чтобы правильно работало наследование тем, пришлось слегка изменить класс YWidget, и теперь этот класс зависит от класса YTheme, который поставляется с модулем "appearance".

Получается, что модуль "appearance" должен быть неотключаемым. Можно?

im-kulikov commented 11 years ago

Ммм... вообще это не совсем хорошо, но если будет работать без сбоев - я не против =)

alpharder commented 11 years ago

Конечно без сбоев. Я вынес логику определения директории для view файлов виджета в YTheme, т.к. это больше к YTheme относится. Впрочем, можете сами всё посмотреть - ссылка выше

yupe commented 11 years ago

А как бы мне это все забрать себе для тестирования не делая мердж ?

alpharder commented 11 years ago

Добавить мой репозиторий как один из remote и сделать fetch соответствующей ветки, наверное. По идее так

im-kulikov commented 11 years ago

Возможно поздно опомнился (или это уже есть), но всё же толкну идею. Может стоит сделать редактор для тем, то есть мы определяем возможные к редактированию файлы и потом, на странице редактора можем их править. Как считаете? Будет удобно, чтобы не выходя из админки можно было править тему

alpharder commented 11 years ago

@angel-kulikov см #813

im-kulikov commented 11 years ago

ууххх =) Прошу прощения, даже не посмотрел Я так понимаю, данный функционал уже заложен в этот модуль, верно?

alpharder commented 11 years ago

Не реализован, но в планах

im-kulikov commented 11 years ago

ок, я понял =)

2013/4/18 Alexander Bolshakov notifications@github.com

Не реализован, но в планах

— Reply to this email directly or view it on GitHubhttps://github.com/yupe/yupe/issues/817#issuecomment-16598110 .

im-kulikov commented 11 years ago

Возможно это будет также уместным? - http://www.elisdn.ru/blog/13/vstraivaem-vidjeti-v-tekst-stranici-v-yii

alpharder commented 11 years ago

Не вижу смысла это реализовывать. Гораздо правильнее использовать другой шаблонизатор - например, этот: https://github.com/yiiext/smarty-renderer . Позволяет встраивать виджеты используя синтаксис Smarty.

alpharder commented 11 years ago

Назвался груздем - полезай в кузов. Используя стандартный шаблонизатор - не жди магии типа {widgetName}, имхо.

im-kulikov commented 11 years ago

Лишь предложение =) Согласен, что лучше использовать нормальный шаблонизатор, но честно, только не смарти =) Тогда уж лучше Twig или PHPTAL Смарти медленный и очень прожорливый (ИМХО)

alpharder commented 11 years ago

Расширение для Twig поддерживает то же самое. Кстати, вы очень сильно ошибаетесь. Smarty намного быстрее, чем Twig, т.к. шаблоны компилируются в нативный PHP один раз, а затем используются скомпилированные файлы. http://umumble.com/blogs/php/249/ - один из бенчмарков, в сети полно других, но с тем же результатом. Но надеюсь вы не собираетесь добавлять в Yupe шаблонизатор?

yupe commented 11 years ago

Полноценно переходить на шаблонизатор, скорее всего, не будем. Но возможность динамически встраивать виджеты необходима, например для формирования сайдбара через панель управления.

alpharder commented 11 years ago

Мы тут говорили не о динамическом встраивании виджетов, а о короткой записи кода вставки виджета. По поводу динамического встраивания см. #821