Компонент словаря

Всем добрый день!
Вот решилась написать свой первый компонент. Назвала lexiconmini. Это то же самое, что и обычный словарь. Только тут доступ открыт к одному namespace — sitelang, тем самым закрывая доступ пользователю к системным переводам.

Скачать можно тут:
ПЕРЕД УСТАНОВКОЙ: если у вас есть пространство имен sitelang и там есть файлы default.inc.php, то компонент их перезапишет. поэтому лучше сделать бэкап.
Хотелось бы услышать мнение об этой штуке и стоит ли ее выкладывать для скачивания.
yadi.sk/d/_wf9_Pwf8hT56

Update 15.10.2013
Версия beta2 с плагином внутри
yadi.sk/d/R399tuPpAyA4L


Скриншоты:


Yana V
14 октября 2013, 09:16
modx.pro
1 646
0

Комментарии: 9

Василий Наумкин
14 октября 2013, 17:46
0
Ты бы хоть скриншотиков добавила, или даже установила на modx-test.com для демонстрации.
    Yana V
    15 октября 2013, 11:26
    0
    Выложила, там то же самое, что и словарь.
      Василий Наумкин
      15 октября 2013, 11:31
      0
      Мне кажется, компоненту еще не помешает плагин, который будет загружать словари sitelang по OnLoadWebDocument.

      Тогда пользователь сможет везде использовать плейсхолдеры типа [[%sitelang_key]], и не переживать о загружке словаря сниппетом.
        Yana V
        15 октября 2013, 11:40
        0
        что то не совсем поняла.
        значения словаря доступно без сниппетов.
        [[%hello:htmlent? &namespace=`sitelang` &language=`[[++cultureKey]]`]] вернет например «Привет».
          Василий Наумкин
          15 октября 2013, 11:57
          0
          Это — жесть. Лично мне больше нравится вот так:
          [[%hello]]

          И если словарь загружен заранее — то это будет работать и не тратить время на лишний разбор параметров тега.

          Кстати, такие короткие языковые плейсхолдеры быстро заменятся в чанках pdoTools, а длинные пойдут в парсер MODX, тормозить.
            Yana V
            15 октября 2013, 12:52
            0
            Согласна, Ваша запись гораздо приятнее)
            но я пока не знаю как такое реализовать, такие короткие записи в чанках сниппетов встречаются.
              Василий Наумкин
              15 октября 2013, 12:55
              0
              Я же говорю — плагин на событие загрузки страницы:

              if ($modx->event->name == 'OnLoadWebDocument') {
              	$modx->lexicon->load('sitelang');
              }

              Должно работать. Нужно только упаковать этот плагин в пакетик (ну и проверить, предварительно).
                Yana V
                15 октября 2013, 12:57
                0
                да я уже попробовала строки
                $modx->getService('lexicon','modLexicon');
                $modx->lexicon->load('sitelang:default');
                в файл index.php и оно работало! сейчас попробую Ваш вариант
                — Update: все работает! надо только в компонент добавить плагин!
                  Yana V
                  15 октября 2013, 14:28
                  0
                  все ж таки не работает)
                  а вот с прописыванием в index.php — работает
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      9