Набор виджетов для Cotonti + динамическая загрузка скриптов
Модуль Widgets - это набор виджетов для CMF Cotonti.
В версии 0.1 находится два виджета. (Далее будут пополнятся)
Данный виджет выводит знак зодиака пользователя, если у него установлена дата рождения.
Выглядит он примерно так :
Для его использование просто вставьте тег. (По умолчанию выводится картинка с подписью)
{USERS_DETAILS_BIRTHDATE_STAMP|wg('widgets','zodiac',$this)}
в файл users.detail.tpl в нужном вам месте.
Можно выводить только картинку без текста:
{USERS_DETAILS_BIRTHDATE_STAMP|wg('widgets','zodiac',$this,'image')}
либо только текст:
{USERS_DETAILS_BIRTHDATE_STAMP|wg('widgets','zodiac',$this,'text')}
Это виджет удобного выбора дат на вашем сайте.
Его можно использовать в любом месте сайта, где необходимо ввести дату. Для коробочной версии Cotonti он пригодится для ввода даты рождения пользователя или дат публикаций статей на сайте.
Для использования ввода даты рождения пользователя в файлах users.profile.tpl и user.edit.tpl необходимо заменит теги {USERS_PROFILE_BIRTHDATE} и {USERS_EDIT_BIRTHDATE} на тег гаджета.
{PHP.urr.user_birthdate|wg('widgets','datetimepicker','ruserbirthdate',$this)}
Для использования гаджета при создании и редактировании страниц.
В page.add.tpl заменить теги:
{PAGEADD_FORM_BEGIN} на
{PHP.rpagebegin|wg('widgets','datetimepicker','rpagebegin',$this)}
{PAGEADD_FORM_EXPIRE} на
{PHP.rpageexpire|wg('widgets','datetimepicker','rpageexpire',$this)}
В page.edit.tpl заменить теги:
{PAGEEDIT_FORM_BEGIN} на
{PHP.pag.page_begin|wg('widgets','datetimepicker','rpagebegin',$this)}
{PAGEEDIT_FORM_EXPIRE} на
{PHP.pag.page_expire|wg('widgets','datetimepicker','rpageexpire',$this)}
{PAGEEDIT_FORM_DATE} на
{PHP.pag.page_date|wg('widgets','datetimepicker','rpagedate',$this)}
Данный модуль имеет ряд преимуществ.
В дальнейшем, по приходу идей о новых виджетах, они будут дополняться.
Актуальная версия на hithub https://github.com/Dr2005alex/widgets
http://mycotonti.ru/cotonti/extensions/data-apis/Widgets
P.S. Установив данный модуль, вы можете использовать его функции подгрузки файлов в своих плагинах и модулях. Об этом я напишу статью позже..
Модуль или плагин, особой разницы нет. Виджеты вшиты в молуль именно потому, что планировался данный модуль для сбора некой библиотеки виджетов. Сами виджеты по сути это просто классы. вот их и будем дополнять в обновлениях. Можно конечно сделать все в виде плагинов, но когда их и так много в списке на сайте и их станет еще больше, а так только в список добавится один модуль.
Идеологически само расширение не тянет на модуль - хотя да это не принципиально. Что же касается самих виджетов то я имел ввиду даже не то что бы они были плагинами, а то что например есть модуль виджетов, а есть сам виджет ... нужно еще добавить\удалить виджет - удалил файл(ы) из определенной папки и все, а так я поглядел в модуле виджетов есть доп. код для конкретного виджета .... это тоже не принципиально но так мне кажется будет легче развивать данную тему виджетов .. вообщем высказанное мной лишь предложение по улучшению, а так штуки уверен хорошие, за что спасибо, просто пока негде реально применить дабы потестировать.
Сама идеология виджетов не подразумевает их удаление, включение. Код виджетов никак не участвует в жизни сайта, пока не будет вставлен в щаблон или использован как - то по другому. По умолчанию на сайте висят дежурные функции которые необходимы для вызова виджета. Тоесть если тебе не нужны сами виджеты но хочешь использовать дежурную функцию, просто не вставляй теги виджетов (раз они не нужны). (хотя честно говоря я подумываю более четко разделить сущность самих виджетов в самой структуре модлуля.)
Хотя честно говоря я подумываю более четко разделить сущность самих виджетов в самой структуре модлуля
Вот об этом я и говорил
Всего: 5, на странице: 5
Поблагодарили: 134 раза
А почему как модуль, а не плагин например? И почему виджеты вшиты в модуль, а не как то отдельно, если их число планируется увеличивать, а модуль является прослойкой в их подключении?