Компонент словаря
Всем добрый день!
Вот решилась написать свой первый компонент. Назвала lexiconmini. Это то же самое, что и обычный словарь. Только тут доступ открыт к одному namespace — sitelang, тем самым закрывая доступ пользователю к системным переводам.
Скачать можно тут:
ПЕРЕД УСТАНОВКОЙ: если у вас есть пространство имен sitelang и там есть файлы default.inc.php, то компонент их перезапишет. поэтому лучше сделать бэкап.
Хотелось бы услышать мнение об этой штуке и стоит ли ее выкладывать для скачивания.
yadi.sk/d/_wf9_Pwf8hT56
Update 15.10.2013
Версия beta2 с плагином внутри
yadi.sk/d/R399tuPpAyA4L
Скриншоты:
Вот решилась написать свой первый компонент. Назвала lexiconmini. Это то же самое, что и обычный словарь. Только тут доступ открыт к одному namespace — sitelang, тем самым закрывая доступ пользователю к системным переводам.
Скачать можно тут:
ПЕРЕД УСТАНОВКОЙ: если у вас есть пространство имен sitelang и там есть файлы default.inc.php, то компонент их перезапишет. поэтому лучше сделать бэкап.
Хотелось бы услышать мнение об этой штуке и стоит ли ее выкладывать для скачивания.
yadi.sk/d/_wf9_Pwf8hT56
Версия beta2 с плагином внутри
yadi.sk/d/R399tuPpAyA4L
Скриншоты:
Комментарии: 9
Ты бы хоть скриншотиков добавила, или даже установила на modx-test.com для демонстрации.
Выложила, там то же самое, что и словарь.
Мне кажется, компоненту еще не помешает плагин, который будет загружать словари sitelang по OnLoadWebDocument.
Тогда пользователь сможет везде использовать плейсхолдеры типа [[%sitelang_key]], и не переживать о загружке словаря сниппетом.
Тогда пользователь сможет везде использовать плейсхолдеры типа [[%sitelang_key]], и не переживать о загружке словаря сниппетом.
что то не совсем поняла.
значения словаря доступно без сниппетов.
[[%hello:htmlent? &namespace=`sitelang` &language=`[[++cultureKey]]`]] вернет например «Привет».
значения словаря доступно без сниппетов.
[[%hello:htmlent? &namespace=`sitelang` &language=`[[++cultureKey]]`]] вернет например «Привет».
Это — жесть. Лично мне больше нравится вот так:
И если словарь загружен заранее — то это будет работать и не тратить время на лишний разбор параметров тега.
Кстати, такие короткие языковые плейсхолдеры быстро заменятся в чанках pdoTools, а длинные пойдут в парсер MODX, тормозить.
[[%hello]]
И если словарь загружен заранее — то это будет работать и не тратить время на лишний разбор параметров тега.
Кстати, такие короткие языковые плейсхолдеры быстро заменятся в чанках pdoTools, а длинные пойдут в парсер MODX, тормозить.
Согласна, Ваша запись гораздо приятнее)
но я пока не знаю как такое реализовать, такие короткие записи в чанках сниппетов встречаются.
но я пока не знаю как такое реализовать, такие короткие записи в чанках сниппетов встречаются.
Я же говорю — плагин на событие загрузки страницы:
Должно работать. Нужно только упаковать этот плагин в пакетик (ну и проверить, предварительно).
if ($modx->event->name == 'OnLoadWebDocument') {
$modx->lexicon->load('sitelang');
}
Должно работать. Нужно только упаковать этот плагин в пакетик (ну и проверить, предварительно).
да я уже попробовала строки
$modx->getService('lexicon','modLexicon');
$modx->lexicon->load('sitelang:default');
в файл index.php и оно работало! сейчас попробую Ваш вариант
— Update: все работает! надо только в компонент добавить плагин!
$modx->getService('lexicon','modLexicon');
$modx->lexicon->load('sitelang:default');
в файл index.php и оно работало! сейчас попробую Ваш вариант
— Update: все работает! надо только в компонент добавить плагин!
все ж таки не работает)
а вот с прописыванием в index.php — работает
а вот с прописыванием в index.php — работает
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.