Cotonti - Dictionary.
Плагин для CMF Cotonti.
Плагин словарей и номенклатуры для Cotonti Siena.
тип: плагин
Версия: 1.0.1
Совместимость: Siena
GitHub: https://github.com/Alex300/dictionary
Системные требования и ограничения:
- Наличие на Вашем сайте установленной библиотеки Cotonti Lib версии 2.0.x
- Административная часть плагина расчитана на альтернативную тему панели управления cpanel.
Установка:
- Скопировать плагин на сервер в папку plugins/dictionary
- Установить плагин из панели администратора
Плагин позволяет организовать номенклатуру на сайте под управлением Cotonti. А именно - создать словари с наборами 'Ключ' => 'Значение'. Т.е. каждому слову в словаре сопрставляется уникальный ID, которые можно использовать в других расширениях. Например это могут быть марки или модели авто, типы товаров, должности сотрудников и т.п.
Словари можно использовать для хранения вариантов выбора для экстраполей типа «select».
Словари можно использовать как связанные данные для других моделей.
Этот пример заполнит варианты выбора экстраполей значениями из словарей:
$conf = array( array( 'location' => cot::$db->advert, 'field' => 'brand', 'dictionary' => 2, 'condition' => "id IN (1,2,3)", ), array( 'location' => cot::$db->advert, 'field' => 'model', 'dictionary' => 3, 'parent' => cot_import_buffered('brand', $advert->brand, 0), ), ); dic_loadExtraFieldData($conf);
параметры конфигурации:
- location и field - таблица и экстраполе соотвественно
- dictionary - id словаря, от куда брать значения
- condition (необязательно) - условия выборки значений. Если не указано то выбираются все значения указанного словаря.
- parent (необязательно) - значение родительского словаря.
Плагин может быть полезен прежде всего разработчикам. Вы в своих таблицах можете хранить id значений словарей, получая сами значения только при необходимости. Это позволяет избежать ошибок при многократном написании самих значений. А исправление внесенное в словарь сразу отразится на всех связанных данных. Также возможно организовать поиск по таким полям.
Напрмер: выбрать все модели автомобилей марки BMW.
Программно получить список "ключ" => "значение" метод dictionary_model_Value::keyValPairs(), например:
dictionary_model_Value::keyValPairs(array(array('dictionary', 3)));
выберет все значения для словаря с id=3.
Родительский словарь
Словарь может иметь родителя. Например модель автомобиля - марку, а город относится к определенному региону. dic_loadExtraFieldData() организует элементы select так, что после выбора значения родительского словаря (например произволителя авто) пользвателю будет предложен выбор соотвествующих значений словаря - потомка (напрмер: марки авто этого производителя)
Упрощенным и частным случаем этого плагина является плагин Region-City.
История изменений:
Версия v1.0.1
- Совместимость с Cotonti Lib v2.0.
Размер: 0 Б
Комментарии:
Вопрос поднимался. Но развития не будет. Скорее всего будет отдельная ветка куда эти наработки и войдут. Но пока на нее не хватает времени.
Что же касается основной ветки - там есть член команды который всеми силами удерживает ее в состоянии "как есть". "Она и так хорошая и нечего мутить что то новое". Дело доходит даже до того, что он откатывает коммиты совершенно не понимая зачем они нужны.
Все это происходит с молчаливого согласия остальной части команды.
О развитии в таких условиях не может быть и речи. Если в последниее время я поддталкивал выход релизов, то больше такие условия не для меня.
Плохо что есть зависимости что не входят в кота, может поднимите вопрос об интеграции наработок в основную ветку? Пусть будет хоть какое-то развитие а не запах смерти cmf. А то каждый разработчик тянет в свою сторону развитие и хз что делать
Оставить комментарий:
* Просьба все технические вопросы, которые могут потребовать обсуждения, задавать на форуме.
** все некорректные и рекламные посты будут удаляться, ненормативная лексика и оскорбительные высказывания запрещаются.