Как сделать динамически изменяемые вставки в meta поля — различия между версиями
Mad grant (обсуждение | вклад)  | 
				Mad grant (обсуждение | вклад)   | 
				||
| Строка 17: | Строка 17: | ||
[[Файл:Meta_settings.png]]  | [[Файл:Meta_settings.png]]  | ||
| + | |||
| + | Потом создадим страницу с этим типом данных, и заполним поля страницы значениями:  | ||
| + | |||
| + | [[Файл:Meta_page.png]]  | ||
  [[category:Вопросы установки настройки и переноса]]  |   [[category:Вопросы установки настройки и переноса]]  | ||
Версия 15:26, 14 февраля 2014
Актуально для версии 2.9.5
Задача
Необходимо сделать, чтобы в title, description и keywords присутствовали некоторое слово, которое можно сразу везде поменять. Например, у Вас мультисайтовость и каждый сайт создан для отдельного города, и Вы хотите, чтобы в этих поля присутствовало его название.
Решение
В первую очередь, Вам нужно будет создать кастом, который будет возвращать ту или иную информацию, например в зависимости от текущего домена, и создать системную страницу с нужными полями, где будет хранится эта информация. Созданный макрос можно будет вставить прямо в поле title и он отработает нормально, но для полей description и keywords такое решение не подойдет. Нужно будет написать кастомные макросы, которые находить какую-либо метку в этом поле, заменять её на содержимое поля системной страницы, а потом уже выводить.
Для применения примеров скопируйте код в файл /classes/modules/custom.php.
Пример макроса, выводящего ту или иную информацию, в зависимости от домена
Сначала создадим тип данных, дочерний "страницы контента" и добавим в него новую группу полей и поля:
Потом создадим страницу с этим типом данных, и заполним поля страницы значениями:

