Категории форума

Модуль "Pages". Справочник по тегам в шаблоне создания страницы.

Шаблон "page.add.tpl". Присоединяйтесь, разбираем и обсуждаем теги в Cotonti, которые задействованы в модуле статей (pages) при создании и публикации новой статьи.


webitproff
webitproff • 23.01.2024 09:34 #1

Справочник по тегам рассчитан прежде всего на администраторов сайтов на "котонти", а обычному пользователю, для создания статей эти теги знать вовсе не обязательно.

Все "родные" теги формируются в файле сценариев создания страницы модуля "pages".

Это файл `page.add.php`, который находятся в репозитории с открытым исходном кодом самого движка по постоянной ссылке.

Список "собственных" тегов модуля "Pages".

Теперь каждый из них разберем отдельно, чтобы иметь представление о степени его важности и функционального назначения.

  1. {PAGEADD_PAGETITLE}
  2. {PAGEADD_SUBTITLE}
  3. {PAGEADD_ADMINEMAIL}
  4. {PAGEADD_FORM_SEND}
  5. {PAGEADD_FORM_CAT}
  6. {PAGEADD_FORM_CAT_SHORT}
  7. {PAGEADD_FORM_KEYWORDS}
  8. {PAGEADD_FORM_METATITLE}
  9. {PAGEADD_FORM_METADESC}
  10. {PAGEADD_FORM_ALIAS}
  11. {PAGEADD_FORM_TITLE}
  12. {PAGEADD_FORM_DESCRIPTION}
  13. {PAGEADD_FORM_AUTHOR}
  14. {PAGEADD_FORM_OWNER}
  15. {PAGEADD_FORM_OWNER_ID}
  16. {PAGEADD_FORM_DATE}
  17. {PAGEADD_FORM_BEGIN}
  18. {PAGEADD_FORM_EXPIRE}
  19. {PAGEADD_FORM_FILE}
  20. {PAGEADD_FORM_URL}
  21. {PAGEADD_FORM_SIZE}
  22. {PAGEADD_FORM_TEXT}
  23. {PAGEADD_FORM_PARSER}
  24. {PAGEADD_FORM_OWNERID}
  25. {PAGEADD_FORM_DESC}

Эти теги, как правило экранируются* в шаблоне создания страницы `page.add.tpl`, который в чистом виде из коробки выглядит вот так, - постоянная ссылка на исходный код шаблона.

* - отражаются, прописуются, дублируются - тут как кому удобно так и называйте.

1. Название текущей страницы с формой создания статьи:
{PAGEADD_PAGETITLE}

-  Заголовок самой технической страницы с формой для создания новой статьи. Тег является статичным и не может быть отредактирован при создании статьи, потому что в этом щаблоне он лишь выводит значение локализационной/языковой переменной $L['page_addtitle'], которая прописана в файле локализации модуля.;

2. Подзаголовок этой страницы:
{PAGEADD_SUBTITLE}

-  Описание технической страницы с формой создания статьи. То есть описание имено страницы, на которой мы сейчас находимся при заполнении полей и форм для новой статьи, так что не путаем это описание с описанием для нашей новой статьи. Тег является статичным и не может быть отредактирован при создании статьи.

Как и с первым тегом, мы просто получаем в шаблон служебную информацию с файла локализации, в котором нам говорится, - "Заполните необходимые поля и отправьте форму для продолжения".

3.Системный E-mail сайта на Cotonti
{PAGEADD_ADMINEMAIL}

-  Тег, который в шаблоне создания статьи просто выводит системный E-mail, который устанавливается в настройках сайта. При вставке этого тега, мы получим что-то вроде "mailto:my_name_email@my_domain.com". Честно говоря, сам не знаю зачем он здесь, но если всё же кому-то нужно его использовать, то скорее всего, его стоит поместить внутри ссылки типа:
 

<a href="{PAGEADD_ADMINEMAIL}">Пишем Админу со своей почты</a>

 

4. Тег формы записи/постинга в базу данных новой статьи и её содержимого:
{PAGEADD_FORM_SEND}

 - Служебный тег отправки формы на создание статьи с внесением в базу данных.

<form action="{PAGEADD_FORM_SEND}" enctype="multipart/form-data" method="post" name="pageform">

Он не доступен для заполнения и редактирования с пользовательской части, но все теги, которые выводят поля для заполнения и редактирования данных, - непременно должны быть расположены внутри тела формы:

<form action="{PAGEADD_FORM_SEND}" enctype="multipart/form-data" method="post" name="pageform">
... тут все теги для заполнения своими данными ... как правило.
</form>

 

5. Тег "выбор категории статей" расширенный список
{PAGEADD_FORM_CAT}

 -  Селектбокс (выпадающия список) всех категорий, которые доступны пользователю, - например из коробки это: статьи, новости, события ... В этом списке будут показаны все категории, которые этому пользователю в групповых правах разрешено вносить запись.

6.  Тег "выбор категории статей" сокращенный до одной
{PAGEADD_FORM_CAT_SHORT}

 - Селектбокс (выпадающия список) из одной категории, если страница с формой создания статьи была открыта по ссылке, в которой категория уже указанна, путем добавления в конструкцию ссылки код категории, - "&c=news", например:

{PHP|cot_url('page','m=add&c=news')}

То есть в любом шаблоне сайта, можно разместить линк вида

<a href="{PHP|cot_url('page','m=add&c=news')}">Создать новость</a>

мы этим экономим время с выбором нужной из списка категорий, то есть в данном случае, согласно примеру, новая статья сразу уйдет в раздел новостей.
По своему интересный тег, но скорее специфический, под задачу определенного рода.
Он не является обязательным, и если его и включать в шаблон, то скорее всего с заменой стандартного выбора категорий, то есть на замену {PAGEADD_FORM_CAT}. Лучше всего создать самостоятельный шаблон создания статьи под конкретную категорию, например `page.add.news.tpl`, разумеется если у нас есть категория с кодом "news", и уже в этом шаблоне тег {PAGEADD_FORM_CAT} заменить на {PAGEADD_FORM_CAT_SHORT}.

7. Тег в шаблоне создания статьи - "форма для ключевых слов"
{PAGEADD_FORM_KEYWORDS}

- поле для ввода ключевых слов через запятую, для вывода их в мета-теги статьи в "шапке" сайта через тег {HEADER_META_KEYWORDS}
Ценность очень спорная и сомнительная. В своих шаблонах я вобще удалил всё что касается XXX_KEYWORDS.

8. Тег в шаблоне - "мета-заголовок для поисковых систем"
{PAGEADD_FORM_METATITLE}


Поле ввода мета-тега заголовка страницы для поисковиков. Очень важный тег, если вам важна поисковая оптимизация страницы, которую вы создаете. Без фанатизма, - 50  символов с пробелами.

В идеале, в это поле, поверьте не стоит вписывать текст более чем на 45-47 символов и знаков, вместе с пробелами.

Еще текст заполненный в этом поле мы видим в названии вкладки браузера. Можно не заполнять, если SEO, создаваемой статьи вас не интересует, в таком случае, (предусмотренно движком) на его место встанет заголовок статьи.

9. Тег "мета-описание статьи" для SEO
{PAGEADD_FORM_METADESC}

 - Поле ввода мета-тега описания страницы для поисковиков.
Мета-описание - это HTML-тег, который вы можете задать для своей страницы или статьи, если она открыта индексированию поисковым системам.
Мета-описание должно соответветствовать по смыслу мета-заголовку.
Длина (рекомендуемая) мета-описания примерно 155 символов, чтобы рассказать грьобаным ботам поисковиков, о чем ваша статья или страница.

В идеале, - текст не более чем 150 символов и знаков, вместе с пробелами.

Ресурсы для онлайн подсчета текста и количества символов в нем, со всякими полезностями:

 ссылка №1(RU) | ссылка №2(Int.) | ссылка №3(Int.)

Это описание мы видим сразу под заголовком в результатах поискового запроса и показывает насколько страница ревалентна тому, что мы написали в строке поиска в яндексе или в гугле.

10. Тег для алиаса будущей статьи/страницы
{PAGEADD_FORM_ALIAS}

 - Поле для ввода псевдонима URL-адреса.
По простому:
- это уникальный код конкретной этой страницы на всю базу данных вашего сайта.
Например, в категории новостей, создаем статью с названием "Новинка от Kugoo Электросамокат KuKirin G2 Master",
а в поле алиас прописуем, - "kukirin-g2-master-novinka-ot-kugoo",
в результате мы получаем адрес, с вполне понятным URL*.

https://my_domain.com/news/kukirin-g2-master-novinka-ot-kugoo  **

*URL - это Uniform Resource Locator. URL - это адрес уникального ресурса в интернете (статья, файл).
URL мы видим в адресной строке браузера, по которому был загружен связанный с ним ресурс или страница.
** на вашем сайте котонти долже быть установлен плагин "URL Editor" иначе адрес статьи будет иметь вид:

https://my_domain.com/index.php?e=page&c=news&al=kukirin-g2-master-novinka-ot-kugoo

Поле не является обязательным, и заполнится автоматически идентификатором (ID) или транслитируемым заголовоком, взависимости от настроек установленного плагина "autoalias2".

11. Тег "Заголовок статьи"
{PAGEADD_FORM_TITLE}

- поле ввода заголовка статьи и является обязательным.
В пользовательской части (фронт-энд), заголовок статьи выводится тегом {PAGE_TITLE}
Примерно так:

<article class="uk-article">

    <h1 class="uk-article-title">{PAGE_TITLE}</h1>
	<!-- IF {PAGE_DESCRIPTION} -->
	<h2 class="uk-text-lead">{PAGE_DESCRIPTION}</h2>
	<!-- ENDIF -->
.... ....
</article>

 

12. Тег "Описание статьи"
{PAGEADD_FORM_DESCRIPTION}

Этот тег тоже самое что и {PAGEADD_FORM_DESC} в предыдущих версиях движка.
Поле не является обязательным и по логике наследует смысл основного заголовка статьи или страницы, но в более развернутом виде одним-двумя предложениями. Это краткое описание статьи, я предпочитаю его называть "подзаголовок", в котором мы кратко сообщаем читателю о чем эта статья.
То, что пользователь пропишет в поле тега {PAGEADD_FORM_DESCRIPTION} при создании статьи, будет выведено на странице уже опубликованной статьи в теге {PAGE_DESCRIPTION} - смотрите участок кода, "Примерно так", который в пункте №11.

 

13. Тег "Форма ввода автора статьи"
{PAGEADD_FORM_AUTHOR}

Простое произвольное текстовое поле для ввода автора материала. То есть, если вы решили разместить у себя чью-то статью - в этом поле желательно указать автора этой статьи.

 

14. Тег "Именной идентификатор владельца в системе"
{PAGEADD_FORM_OWNER}

Как и с тегом ниже, получаем уникальный идентификатор пользователя, но в виде никнейма - логин пользователя в базе данных. Также как и с ID, - в БД Cotonti не может существовать больше одного пользователя с одинаковыми никнеймами. Тег в этом шаблоне строит информацию о владельце в виде ссылки, то есть "я создаю статью" и вижу "ссылку на свой профиль" - зачем он здесь, лично я не знаю, но он есть, потому и попал в описание, на случай, если у кого встанет вопрос по нему, - "а что это такое?"

 

15. Тег "Числовой (Номерной) Идентификатор владельца в системе"
{PAGEADD_FORM_OWNER_ID}

По-просту говоря, в шаблоне, на странице создания статьи, выводит цифровой (номер) ID-пользователя в базе данных нашего сайта на Cotonti. Обратите внимание, что в предшествующих версиях до 0.9.24 вы можете встретить тег {PAGEADD_FORM_OWNERID} - эти два тега одно и то же, последний еще используется для совместимости шаблонов

 

16. Тег выбора "Даты публикации статьи"
{PAGEADD_FORM_DATE}

В шаблоне создания статьи, этим тегим мы выводим расширенный селектбокс для указания даты и времени публикации этой статьи, если мы хотим указать дату, отличную от текущей.

 

17. Тег выбора "Даты начала публикации статьи"
{PAGEADD_FORM_BEGIN}

Расширенный селектбокс для указания даты и времени начала публикации этой статьи

 

18. Тег выбора "Даты истечения публикации статьи"
{PAGEADD_FORM_EXPIRE}

Расширенный селектбокс для указания даты и времени окончания публикации этой статьи.

19. Тег "Прикрепления файла"
{PAGEADD_FORM_FILE}

Простой селектор, которым мы указываем значения: "Да", "Нет", "Только для зарегистрированных".

 

20. Тег "Ссылка на прикрепленный файла"
{PAGEADD_FORM_URL}

поле ввода ссылки на прикрепленный файл, и путь должен быть абсолютным, то есть включая протокол и домен, например:

https://codeload.github.com/Cotonti/Cotonti/zip/refs/heads/master

 

21. Тег "Размер прикрепленного файла"
{PAGEADD_FORM_SIZE}

Поле для ввода информации о размере файла в килобайтах, если мы о нем хотим сообщить посетителю на странице опубликованной статьи.

Небольшая заметка. На практике, {PAGEADD_FORM_FILE}, {PAGEADD_FORM_URL} и {PAGEADD_FORM_SIZE} вы вряд ли будете использовать, потому что для этих целей существуют более широкие и удобные инструменты. Такие инструменты являются сторонними расширениями, - в котонти это модули и плагины. 

"Сторонние" - в данном конкретном случае, подразумевается, что в шаблоне создания страницы, возможности таких расширений не подключаются "собственными" тегами самого модуля "Pages".

Но так как, эти три тега являются собственными тегами модуля страниц, то есть создаются, обрабатываются и "парсятся" самим модулем, - то для общего представления о них и было рассказано вкратце.

22. Тег "Текстовое содержание статьи"
{PAGEADD_FORM_TEXT}

О чем этот тег в шаблоне создания статьи, скорее всего прям подробно рассказывать будет лишним, - это поле для ввода основного текста, текстового контента материала. Зачастую и как правило, используется с визуальным редактором, парсер HTML-разметки которого выбирается здесь из установленных в системе, через тег, который рассмотрим далее.

23. Тег "Парсер HTML-разметки"
{PAGEADD_FORM_PARSER}

В котонти, в установочном пакете, есть плагин "CKEditor", который подключает визуальный редактор содержания статьи, если его выбрали в настройках конфигурации модуля "Pages".

Выводы и итоги.

И так, собственных тегов, в шаблоне создания статьи всего 23 штуки на момент релиза CMS Cotonti v.0.9.24.

Все остальные теги, которых нет здесь, которых нет в списке в самом начале этого топика, - такие теги являются сторонними, и для того, что бы они работали на странице создания статьи, - потребуется установка в системе, дополнительного расширения, например модуль хранения и прикрепления файлов "PFS" или плагин меток - облака тегов "Tags".

Даже если, это расширение входит "в коробку" движка, то теги этого расширения в шаблонах модуля статей всё равно следует понимать как сторонние, потому что они не предусмотренны самим кодом модуля "Pages".

Кроме собственных и сторонних тегов, в шаблоне создания статьи можно и нужно прописывать теги собственных экстраполей модуля. Нужно, - это потому что в котонти уже "из коробки" нам доступен функционал создания собственных дополнительных полей, чтобы расширять возможности модуля. Такие дополнительные поля называются экстраполями, и о них говорим в отдельном разделе форума.

Например, по экстраполям, не совсем корректно отображается видео с ютюб на мобильных, если его встроить в текст статьи через визуальный редактор. Создаем экстраполе для идентификатора видео, выводим это поле для заполнения в шаблоне создания статьи, и после публикации в шаблоне полной новости это видео уже можно вывести и представить пользователю как угодно, - в модальном окне по ссылке, "под" или "над" содержанием статьи в виде блока, в лайтбоксе, слайд-шоу, обложка и т.д. об этом больше тут.

 

 

 

Отредактировано: Administrator (04.02.2024 15:07, 2 года назад)
🗿

🧙‍♂️ Радуйся, странниче добрый и честный! Не понапрасну привела тя стезя в земли сии. Зде бо мужи мудры и искусники дела писменнаго и численнаго, что куют словеса и плетут узоры кода, тайны разгадывают и знанием делятся, летописи множа и ремесло цифровое творя.
⬅️ Аще налево пойдеши — обрящеши грамоты древния, писания старинныя и свитки учения. ⬆️ Аще прямо — слово мудрое и совет от мужей разумеющих, что в деле кодописном искусны, получиши. ➡️ Аще направо — сам в писцы и летописцы внидеши, и в ремесло цифровое, где строки и знаки в дело живое обращаются, слово свое в память веков вложиши.
📝 Не медли же — нареки имя свое, и вниди в чин наш, и стань с нами в братстве, где код есть магия, а строки — заклятия живыя, числом и буквою слово едины суть.
🏰 Не тайно есть собрание сие, и не инициации в нем, но многое сокрыто от пришлых и ступалого, понеже не всякому открывается знание, но токмо ищущим и пребывающим в деле сем.