smit |
|
---|---|
Всем здрасте! Подскажите плиз, знающие люди, где почитать вот про эти блоки: <!-- IF {PHP.cot_plugins_active.userpoints} --> <!-- IF {INDEX_NEWS} --> И т.д.. Хочу разобраться уже наконец с этими тегами, операторами, условиями, параметрами.. Чтобы не задавать глупые вопросы. В местной документации, я нашел только общие описания, но этого для работы этого не достаточно. Мне нужны точные значения этих операторов и тегов. Тоже самое касается экстраполей. Тоже если выходит за рамки подсказок - сразу стопорюсь. К примеру взять простейший: {LIST_ROW_XXXXX}. Я вижу, что оно состоит из 3 частей, но что здесь что - не понимаю... Либо, если кто-то напишет основной список - я буду безмерно благодарен. Кто скажет про Гугл, тот цыска!
|
Macik |
|
---|---|
Разъясняю...
В вашем примере вы привели теги «завернутые» в условный оператор. Суть его аналогично условным операторам в программировании — т.е. блок сработает если содержиние тега равно указанному значению. Пример: <!-- IF {PHP.cfg.forums.edittimeout} != 0 --> {PHP.L.forums_edittimeoutnote} {FORUMS_POSTS_NEWPOST_EDITTIMEOUT} <!-- ENDIF --> В вашем примере значение для сравнения не указано, значит блок сработает если заданный тег определен — т.е. возвращает не пустой результат. Подробнее про типы, колбеки, а также блоки и операторы расписано в соотв. доке. Опять же, точные значение тегов смотри в отладочном режиме.
Теперь кратко про экстраполя. В двух словах это системный механизм, позволяющий модулям быть более гибкими и предоставлять администратору возможность добавить дополнительные поля к текущим структурам данных. На примере — есть у нас модуль `Page` (Страницы). Он использует внутри себя структуру данных описывающих список страниц. По сути это таблица, которую создает при установке Модуль. Эта таблица имеет набор колонок с данными, описывающих отделную страницу — типа: время создания, автор, кол-во просмотров и пр. Этот набор данных, по умолчанию фиксирован и определяется самим Модулем. А вот механизм экстраполей позволяет расширить этот набо данных (при условии, что сам модуль разработан с учетом поддержки экстраполей). На практике, например, надо нам позволить пользователям размещающим страницы для каждой задавать персональную ссылку на сторонний сайт. Для хранения ссылки надо либо писать отдельный плагин со своей таблицей где они будут храниться, либо, что проще для данной задачи — использовать экстраполе. Добавляя его к модулю `Page` система по сути добавит дополнительную колонку в таблицу `cot_pages`, которую мы сможем использовать для наших целей. Более того этот механизм берет на себя функции обслуживания этой колонки, т.е. формирование тегов поля ввода данных, созранения и отображения. Добавив (через «Управление сайтом → Прочее → Экстраполя → Таблица cot_pages - Модуль Pages») экстра поле 'link' — мы автоматом получим от системы сгенерированные теги соотв. полей и описаний для различных шаблонов модуля `Page`. Внизу дана подсказка как будут именоваться сгенерированные теги. Вместо строки «XXXXX» в названиях тегов нам надо подставить имя нашего экстар поля в верхнем регистре: page.list.tpl: {LIST_ROW_LINK}, {LIST_TOP_LINK}; Т.е чтобы добавить наше поле в окно редактирования страницы мы должны добавить в шаблон `page.edit.tpl` теги {PAGEEDIT_FORM_LINK}, {PAGEEDIT_FORM_LINK_TITLE}. Где {PAGEEDIT_FORM_LINK} — это само поле ввода данных, а {PAGEEDIT_FORM_LINK_TITLE} его описание.
https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F |
smit |
|
---|---|
#42374 Macik: Как пользоваться эктсраполями я знаю. Я не понимаю как их подбирать. К примеру: https://www.cotonti.com/forums/42355?m=posts - Человек меня спрашивает: "А кто сказал что в форме теги будут LIST_ROW, не кажется что не логично?" Я вот этот момент не понимаю: что логично? что не логично? какая там вообще логика? Просто мне нужно некоторые элементы раскидать по сайту. А мало того что одно и тоже экстраполе, на разных страницах принимает разную форму, так его еще нужно одним единственным правильным способом вызвать, который в другом месте скорее всего не сработает... Я вот с этим пытаюсь разобраться.. Добавлено 4 минуты спустя: А конкретно сейчас парюсь с 2-мя задачами: Фильтр поиска: https://www.cotonti.com/forums?m=posts&q=8279 И точки на карте: https://www.cotonti.com/forums?m=posts&q=8280 |
Macik |
|
---|---|
#42394 smit: Логика зависит от разработчика модуля. Почему там префикс `SEARCH` и почему он не указан в подсказке — я не могу сказать.
Это да. В разных шаблонах имена тегов будут отличаться префиксом. Собственно это сделано для соответствия остальных шаблонным тегам на данной странице (разделе). А они в свою очередь имеют префикс логически соответствующий разделу — если мы в разделе добавления страниц, то и префикс об этом говорит `PAGEADD_`.
Тут я, увы не помощник. В бирже не работал, от слова совсем. А ставить специально и разбираться — увольте. Ж) https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F |