Система блоков - расставляем точки...
47
Была потребность разобраться с системой блоков. Очень много чего перечитал с сайта. Например, Система блоков. Ниже будет краткое изложение полученных знаний. Попытаюсь рассказать про систему блоков простым языком, чтобы и новички поняли.
Самое главное, что я выяснил:
1. Блоки можно создавать самостоятельно.
2. Блоки можно размещать в произвольном месте страницы (нужно заранее указать эти места)
3. Блоки могут отображаться в зависимости от Action'ов и Event'ов
4. Блоки могут отображаться в зависимости от адреса страницы. Адрес страницы можно задать с помощью регулярных выражений.
Итак, основные моменты.
Читать дальше
Самое главное, что я выяснил:
1. Блоки можно создавать самостоятельно.
2. Блоки можно размещать в произвольном месте страницы (нужно заранее указать эти места)
3. Блоки могут отображаться в зависимости от Action'ов и Event'ов
4. Блоки могут отображаться в зависимости от адреса страницы. Адрес страницы можно задать с помощью регулярных выражений.
Итак, основные моменты.
Читать дальше
Перенос всех Action на субдомен
3
Может быть кто то уже реализовывал перенос основных Action и Action плагинов на суб домен, как это можно сделать что бы автоматически получалось как то так, допустим www.site.ru/topic/add/ был перенесен на topic.site.ru/add/ или www.site.ru/profile/admin/ ---> profile.site.ru/admin/ попробовал найти в темах через поиск но что то пока нечего не нашёл…
Может быть у кого нибудь есть мысли как это можно реализовать..?
Может быть у кого нибудь есть мысли как это можно реализовать..?
Наследование одного екшена разными плагинами
6
Здесь я высказался о проблеме. Сегодня я расскажу как её решить, а точнее какие изменения внести в ядро 042 из последней транковой версии.
Проблема эта однажды коснется почти каждого т.к. она весьма серьезная и с ней столкнутся — раз плюнуть, поэтому пост заносим в избранное.
Коротко напомню суть проблемы — если два разных плагина наследуют один общий екшен (например ActionSettings), и оба плагина выводят что-то в шаблон, то один из плагинов (который был активирован первым) завершится ошибкой не нахождения шаблона.
Читать дальше
Проблема эта однажды коснется почти каждого т.к. она весьма серьезная и с ней столкнутся — раз плюнуть, поэтому пост заносим в избранное.
Коротко напомню суть проблемы — если два разных плагина наследуют один общий екшен (например ActionSettings), и оба плагина выводят что-то в шаблон, то один из плагинов (который был активирован первым) завершится ошибкой не нахождения шаблона.
Fatal error: Uncaught exception 'Exception' with message 'Can not find the template: actions/ActionSettings/abc.tpl' in лалалаЧитать дальше
Кто нибудь может пояснить разницу? -РЕШЕНО
Значит если делаем свой плагин то в папке <название_плагина>/classes/actions/ в ней файл вида,
Action<....>.class.php так вот заметил что в некоторых поразному объявляют класс:
1. class PluginAceadminpanel_ActionAdmin extends PluginAceadminpanel_Inherits_ActionAdmin {…
2. class PluginAceadminpanel_ActionLanguage extends Action {…
3. class PluginStream_ActionStream extends ActionPlugin {…
4. class PluginAceadminpanel_AdminSiteReset extends AceAdmin {…
Это примеры из реальных плагинов: меня вот интересует когда использовать эти различные способы т.е. «extends PluginAceadminpanel_Inherits_ActionAdmin» ,«extends Action»,«extends ActionPlugin »,«extends AceAdmin ».Плагин один может быть, а в нем экшены расширяются по разному. кто нибудь поясните пожалуйста по каждому примеру? спасибо.
Action<....>.class.php так вот заметил что в некоторых поразному объявляют класс:
1. class PluginAceadminpanel_ActionAdmin extends PluginAceadminpanel_Inherits_ActionAdmin {…
2. class PluginAceadminpanel_ActionLanguage extends Action {…
3. class PluginStream_ActionStream extends ActionPlugin {…
4. class PluginAceadminpanel_AdminSiteReset extends AceAdmin {…
Это примеры из реальных плагинов: меня вот интересует когда использовать эти различные способы т.е. «extends PluginAceadminpanel_Inherits_ActionAdmin» ,«extends Action»,«extends ActionPlugin »,«extends AceAdmin ».Плагин один может быть, а в нем экшены расширяются по разному. кто нибудь поясните пожалуйста по каждому примеру? спасибо.
как создать 3 уровень статичной страницы?
2
Хочу создать страницу info/help/topic/
в ActionInfo пишу:
но выполняется
Что не так?
в ActionInfo пишу:
$this->AddEventPreg('help','s','EventHelps'); /**где-то здесь ошибка**/но выполняется
$this->AddEvent('Help','EventHelp'); Что не так?
- -1
- 24 апреля 2011, 21:36
- BobrDobr94
- 9
как вывести информацию о пользователи в топике?
1
Привет всем! Подскажите как вывести информация о пользователи в топики (вверху).
Если мы в ActionMy получали рейтинг так:
может что нужно добавить в ActionBlog.class ???
Вообще хочется сделать, что бы у топики из личного блога в место обычного меню отображалось меню как в ActionMy.
Если мы в ActionMy получали рейтинг так:
{if $oUserProfile->getRating()>0}+{/if}{$oUserProfile->getRating()} то в ActionBlog такой трюк не пройдёт…может что нужно добавить в ActionBlog.class ???
Вообще хочется сделать, что бы у топики из личного блога в место обычного меню отображалось меню как в ActionMy.
- 0
- 08 апреля 2011, 22:10
- BobrDobr94
- 4
Как добавить экшн к существующему URL?
1
Что-то я никак не могу понять как добавить экшн к уже существующему URL? Например добавить функционал — site/blog/rating вот прикрутить к rating свой экшн из плагина? Только просьба как-то по-конкретней, а не комменты типа «кури Router.class.php» :)
Объясните пожалуйста, как вывести произвольный текст в произвольное место шаблона?
2
т.е. есть, к примеру, плагин или модуль и я хочу вывести результат работы какого-нить из его методов в шаблон
header_top.tpl
если есть возможность вызова методов не из плагина/модуля, то просветите тоже, если таковые имеются :)
p.s. вопрос навеян модулем «лента друзей», который тут в качестве примера предлагался, но не понятно, как мне зайдя в блоги сразу увидеть сколько у друзей прибавилось новых топиков не кликая по ним (не переходя в роут router.page.friends и не вызывая экшн)
заранее благодарен!:)
header_top.tpl
если есть возможность вызова методов не из плагина/модуля, то просветите тоже, если таковые имеются :)
p.s. вопрос навеян модулем «лента друзей», который тут в качестве примера предлагался, но не понятно, как мне зайдя в блоги сразу увидеть сколько у друзей прибавилось новых топиков не кликая по ним (не переходя в роут router.page.friends и не вызывая экшн)
заранее благодарен!:)
Не догоняю что делать с event
2
Заранее прошу прощения за нубский вопрос, но я не силён в ООП.
Подскажите, пожалуйста, такой момент. Сделал дополнительное поле group в профиле. Теперь мне надо фильтровать людей по этому полю по аналогии с /people/country/countryname. Предполагаю, что будет это выглядеть как /people/group/groupname
Модифицирую по имеющемуся образу и подобию classes/actions/ActionPeople.class.php добавляя:
В тупую копирую protected function EventCountry() {...} заменяя название на protected function EventGroup() {...}.
Упорно лезет 404. Где еще я что не дописал? Или я вообще не с этого края зашел?
Заранее спасибо.
Подскажите, пожалуйста, такой момент. Сделал дополнительное поле group в профиле. Теперь мне надо фильтровать людей по этому полю по аналогии с /people/country/countryname. Предполагаю, что будет это выглядеть как /people/group/groupname
Модифицирую по имеющемуся образу и подобию classes/actions/ActionPeople.class.php добавляя:
protected function RegisterEvent() {
...
$this->AddEvent('group','EventGroup');
}В тупую копирую protected function EventCountry() {...} заменяя название на protected function EventGroup() {...}.
Упорно лезет 404. Где еще я что не дописал? Или я вообще не с этого края зашел?
Заранее спасибо.
Название экшена и эвента
В шаблоне смарти реализую подключение css и js в зависимости от экшена/эвента.
Кто-нибудь знает каким способом лучше получать текущий action/event?
Спасибо!
Кто-нибудь знает каким способом лучше получать текущий action/event?
Спасибо!