cot_page_import
Roffun |
|
---|---|
#41898 Macik: Задача была следующая: Написать плагин, который после установки создает N количество дополнительных ячеек в таблице cot_pages, на данный момент их 4, потом будет больше 10. Содержимое должно заполняться в добавлении, правиться в редактировании, выводиться на страницах модуля page. В приоритете использовать по максимуму возможности движка, а дописывать по минимуму. Плагин будет расширяться по мере развития. С содержимым потом будут работать функции, например слаживать результат вывода 2 полей и выводить готовый параметр и тд. Добавление проблем не вызвало, в setup папке файлы install и uninstall своё дело сделали, в Hooks=page.add.tags создались теги. Редактирование тоже проблем не вызвало Hooks=page.edit.tags. Вывод на страницу тоже проблем не вызывает Hooks=page.tags. Для того чтобы всё вышеперечисленное работало, осталось параметры скидывать в нужном направлении. Просмотрел весь код файла page.functions.php, код аналогичных модулей / плагинов, и пришел к выводу что во многих функциях есть хуки, а в этой нет. Так как в функцию нужно передать идентичные данные , например: $rpage['page_myone'] = (int)cot_import('rpage_page_myone', $source, 'INT'); $rpage['page_mytwo'] = (int)cot_import('rpage_page_mytwo', $source, 'INT');
Попробовал вариант с добавлением хука, и всё стало работать как часики. Если есть более продвинутые варианты решения подобной задачи, с удовольствием почерпну опыт, пригодится не один раз еще, и другим будет полезно почитать.
#41898 Macik: Мое мнение таково, что расширение функций хуками не очень хорошая практика (не смотря на то, что много где используется в нашем движке). Если есть более оптимальный способ решения подобных задач, то можно конечно и без этого хука обойтись, просто я исходил из того, что в других подобных функциях он есть. Улетел на другую планету, а там почты нету.. https://www.cotonti.com/forums/45298?m=posts
|
|
Bu gönderi Roffun tarafından düzenlendi (2016-07-08 09:28, 8 yıllar önce) |