SEO разделов Универсального каталога . ICMS v 1.10.3.

+27
2.69K
Иллюстрация
Данный хак, предоставляет возможность заполнения метаданных для разделов УК.

Тема SEO- продолжается. По многочисленным просьбам выполнены доработки УК ,
для версии ICMS 1.10.3,
в реализации возможности ручного заполнения альтернативного title,
а также ключевых слов и описания.

Скачать архив Seo_Uc_Cat_ICMS_v1.10.3_18.01.2014

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

Все измененные мною секции находятся между комментариями
#seoupdate Код #end seoupdate


Добавляем поля в таблицу.
Выполняем SQL-запрос в phpmyadmin
(при необходимости измените префикс cms_ в именах таблиц на ваш):
  1. ALTER TABLE `cms_uc_cats` ADD ( `pagetitle` VARCHAR(200) NOT NULL, `meta_keys` VARCHAR(250) NOT NULL, `meta_desc` VARCHAR(250) NOT NULL);
Если происходят ошибки, проверяйте таблицу, возможно одно или более полей, уже были созданы ранее.
Проверьте и добавьте только недостающие поля, выполнив по одному запросу:
  1.  
  2. ALTER TABLE `cms_uc_cats` ADD `pagetitle` VARCHAR(200) NOT NULL
  3. ALTER TABLE `cms_uc_cats` ADD `meta_keys` VARCHAR(250) NOT NULL
  4. ALTER TABLE `cms_uc_cats` ADD `meta_desc` VARCHAR(250) NOT NULL
  5.  
Изменения в файлах:

---------------------------------------------------------
1 — admin/components/catalog/backend.php

В секции сохранения-обновления данных категории
  1. if($opt == 'submit_cat' || $opt == 'update_cat')
после строки
  1. $cat['cost'] = cmsCore::request('cost', 'str', '');
вставить код:
  1. # seoupdate
  2. $cat['meta_keys'] = cmsCore::request('meta_keys', 'str', '');
  3. $cat['meta_desc'] = cmsCore::request('meta_desc', 'str', '');
  4. $cat['pagetitle'] = cmsCore::request('pagetitle', 'str', '');
  5. # end seoupdate
----------------------------------------------------------
2-Секция добавления-редактирования категории
  1. if ($opt == 'add_cat' || $opt == 'edit_cat'){
перед тегом закрытия боковой таблицы {/tabs} вставить код шаблона SEO таблицы:
  1.  
  2. <!--Seoupdate-->
  3. {tab=SEO}
  4. <div style="margin-top:5px">
  5. <strong><?php echo $_LANG['BC_SEO_PAGETIRLE']?></strong>
  6.  
  7. <span class="hinttext"><?php echo $_LANG['BC_SEO_INFO1']?></span>
  8. </div>
  9. <div>
  10. <input name="pagetitle" type="text" id="pagetitle" style="width:99%" value="<?php if (isset($mod['pagetitle'])) { echo htmlspecialchars($mod['pagetitle']); } ?>" />
  11. </div>
  12. <div style="margin-top:5px">
  13. <strong><?php echo $_LANG['BC_SEO_KEYWORDS']?></strong><span class="hinttext"><?php echo $_LANG['BC_SEO_INFO2']?></span>
  14. </div>
  15. <div>
  16. <textarea name="meta_keys" style="width:97%" rows="2" id="meta_keys"><?php echo htmlspecialchars($mod['meta_keys'])?></textarea>
  17. </div>
  18. <div style="margin-top:20px">
  19. <strong><?php echo $_LANG['BC_SEO_DESCRIPTION']?></strong>
  20. <span class="hinttext"><?php echo $_LANG['BC_SEO_INFO3']?></span>
  21. </div>
  22. <div>
  23. <textarea name="meta_desc" style="width:97%" rows="4" id="meta_desc"><?php echo htmlspecialchars($mod['meta_desc'])?></textarea>
  24. </div>
  25. <!--End Seoupdate-->
------------------------------------------------------------

3-components/catalog/frontend.php

Секция выбор категории комментарий //// VIEW CATEGORY ///
После строки 425
  1. $inPage->addPathway($cat['title'], '/catalog/'.$cat['id']);
комментируем или удаляем строку 425
  1. //$inPage->setTitle($cat['title']);
на ее место вставляем фрагмент кода:

  1.  
  2. // seoupdate
  3. $inPage->setTitle($cat['pagetitle'] ? $cat['pagetitle'] : $cat['title']);
  4. // Если не заполнено "описание"-SEO, но заполнено "описание"-рубрики,
  5. // meta name="description" принимает 250 символов "описание"-рубрики.
  6. if(!$cat['meta_desc']){
  7. if($cat['description']){
  8. $string = mb_substr(($inCore->htmlCleanUp($cat['description'])), 0, 250); //250 количество символов
  9. $position = mb_strrpos($string, ' ');
  10. $inPage->setDescription(mb_substr($string, 0, $position));
  11. }
  12. else{
  13. //Если "описание"-рубрики и "описание"-SEO не заполнено,
  14. //meta name="description" - принимает название страницы.
  15. $inPage->setDescription($cat['title']);
  16. }
  17. }
  18. //Заполнение "описание"-SEO имеет самый высокий приоритет!
  19. //Если заполнено "описание"-SEO, meta name="description" принимает "описание"-SEO.
  20. else{
  21. $inPage->setDescription($cat['meta_desc']);
  22. }
  23. $inPage->setKeywords($cat['meta_keys'] ? $cat['meta_keys'] : $cat['title']);
  24. //end seoupdate
-------------------------------------------------------

4-languages/ru/components/catalog.php

добавляем языковые константы:

  1. $_LANG['BC_SEO_KEYWORDS'] ='Ключевые слова';
  2. $_LANG['BC_SEO_INFO2'] ='Через запятую, 10-15 слов';
  3. $_LANG['BC_SEO_PAGETIRLE'] ='Заголовок страницы';
  4. $_LANG['BC_SEO_INFO1'] ='Если не указан, будет совпадать с названием';
  5. $_LANG['BC_SEO_DESCRIPTION'] ='Описание';
  6. $_LANG['BC_SEO_INFO3'] ='Не более 250 символов';
--------------------------ВСЕ !---------------------------

###############################

Все спасибо, вешайте на этот счет!
ЯД 410012594149116

olg-lubimova КОШЕЧКА yandex.ru
##############################
Олег Васильевич я Олег Васильевич я 10 лет назад #
Комментарий удален
+2
Reborn Reborn 10 лет назад #
отлично, ура, +, в релиз
+1
RSN RSN 10 лет назад #
oll Спасибо, еще раз, Вам предложили админы по наработкам сделать анализ на будущие релизы.
Не знаю как это можно согласовать , но Ваши наработки практичны.
И Вам forward
0
Dost Dost 10 лет назад #
Очень полезное внедрение. Спасибо. Тоже был рад увидеть ваши наработки в релизе.+
+2
Max Max 10 лет назад #
Уважаемая oll радует в очередной раз, спасибо!
Хочу хочу попросить уважаемую oll, сделать аналогичную доработку для рубрик доски объявлений!
0
Max Max 10 лет назад #
Еще была бы полезной возможность заполнять СЕО главной страницы УК.
+3
oll oll 10 лет назад #
Добро, это выполнимо.
0
Max Max 10 лет назад #
Спасибо, буду ждать :)
0
Alon Alon 10 лет назад #
Для 1,10,1 подойдет
0
Alon Alon 10 лет назад #
Это был вопрос, подойдет?
0
Helg Helg 10 лет назад #
на 10.4 подойдет?

Еще от автора

SEO FAQ ICMS v 1.10.4
Полнофункциональное SEO решение для компонента "FAQ" ICMS v1.10.4
SEO board ICMS v 1.10.4
Полнофункциональное SEO решение для компонента "Доска обьявлений" ICMS v1.10.4
SEOBOX  сборка ICMS 1.10.4
Начата реализация SEO дистрибутива системы ICMS версии 1.10.4
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.