Заголовки h1

InstantCMS 2.X
#1 5 мая 2017 в 13:04
Ребят, очень не хватает возможности создавать свои заголовки h1 для страниц категорий любых видов контента.
К примеру если взять IMaps, при создании категорий — заголовок будет как название категории, а для SEO было бы удобно дать возможность писать более широкий заголовок. Для iMaps я это себе сделал на сайте, было бы не плохо это решение иметь и для всего сайта, для всех новых видов контента.
Логика такая — в БД создавать ещё одно поле для заголовка. При создании поле "Заголовок h1". Если он не заполнен — категория имеет заголовок как и название. Если заполнен h1, то название категории не применяется для заголовка.
#2 5 мая 2017 в 13:33
Есть один простой способ, хотя не уверен, что он Вам подойдет (всё зависит от того, насколько Вы заморочены)))



Заполняем сео-заголовок при редактировании записи.

В файле templates/вашшаблон/controllers/content/category_view.tpl.php находим тег h1 и заменяем его содержимое на это:
  1. <h1><?php if ($category['id'] > 1 && $category['seo_title']){echo $category['seo_title'];} else {echo $page_header;} ?></h1>
В этом случае будет выводиться в заголовке то, что и в тайтле, для всех категорий, кроме корневой. Есть мнение, что лучше, чтобы h1 и title отличались. Но я использую такой способ на нескольких сайтах и всё хорошо))

Способ второй — добавляем новое поле h1.
В файле system/controllers/content/forms/form_category.php после
  1. new fieldString('title', array(
  2. 'title' => LANG_CATEGORY_TITLE,
  3. 'options'=>array(
  4. 'max_length'=> 200
  5. ),
  6. 'rules' => array(
  7. array('required')
  8. )
  9. )),
добавляем
  1. new fieldString('h1', array(
  2. 'title' => 'Заголовок h1',
  3. 'options'=>array(
  4. 'max_length'=> 200
  5. ),
  6. 'rules' => array(
  7. array('required')
  8. )
  9. )),
Дальше в базе в таблицах cms_con_типконтента_cats создаем поле h1 — в phpMyAdmin во вкладке "Структура" или запросом, если знаете, каким.

В файле templates/вашшаблон/controllers/content/category_view.tpl.php находим тег h1 и заменяем его содержимое на это:
  1. <h1><?php echo $category['h1']; ?></h1>
Вы наверное именно это и имели ввиду? После обновления скорее всего всё слетит.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.