Добавление записи в лексикон через API
Всем привет!
Нашел небольшой затык, подскажите, пожалуйста.
При установке пакета modExtra можно добавлять новые записи, но они добавляются в пространство имен пакета.
Мне нужно, чтобы при установке запись добавлялась в пространство имен minishop2. Думал сделать через резолверы, но не могу найти способа — метод set() для лексикона не сохраняет значения.
Есть у кого идея, как это сделать?
Думаю посмотреть, как это происходит в modExtra и немного переделать, но, боюсь, много времени на разбор уйдет.
Нашел небольшой затык, подскажите, пожалуйста.
При установке пакета modExtra можно добавлять новые записи, но они добавляются в пространство имен пакета.
Мне нужно, чтобы при установке запись добавлялась в пространство имен minishop2. Думал сделать через резолверы, но не могу найти способа — метод set() для лексикона не сохраняет значения.
Есть у кого идея, как это сделать?
Думаю посмотреть, как это происходит в modExtra и немного переделать, но, боюсь, много времени на разбор уйдет.
Комментарии: 3
if (!$entry = $modx->getObject('modLexiconEntry', array('name' => $key, 'language' => $lang))) {
/** @var modLexiconEntry $entry */
$entry = $modx->newObject('modLexiconEntry', array(
'topic' => $topic,
'namespace' => 'minishop2',
'name' => $key,
'language' => $lang,
));
}
/** @var modLexiconEntry $entry */
$entry->fromArray(array_merge($entry->toArray(), array(
'value' => $value,
'topic' => $topic,
)));
$entry->save();
Отлично! Спасибо большое!
пожалуйста!
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.