МОДУЛЬ - Описание категорий товаров

Обсуждаем и делимся информацией и наработками по движкам магазина и форума.

Модераторы: alphamobile, Lugansk

МОДУЛЬ - Описание категорий товаров

Сообщение alphamobile » 22 июл 2013, 16:45

Привет.

Вот дошли руки сделать описание к категориям. Это острый вопрос потому как насчет возможностей SEO этот движок откровенно слабоват. А точнее вообще никакой.

ну.. поехали..

1. Добавим поле "categories_description" в таблицу "osc_categories_description" базы данных магазина. Делаем это в админке базы данных на хостинге. Обычно есть удобный ВЕБ-интерфейс управления базой данных, где можно делать все что угодно.
Тип поля - TEXT, разрешить пустое значение - NULL - Да.

Снимок1.PNG
Снимок1.PNG (18.94 KiB) Просмотров: 5059


Теперь переходим к правке исходников-скриптов
Писать буду в том порядке, как я нахожу доработки у себя.

2. Файл ... \admin\includes\applications\categories\actions\save.php
После строк
Код: выделить все
      if ( isset($_POST['subaction']) && ($_POST['subaction'] == 'confirm') ) {
        $data = array('name' => $_POST['categories_name'], 


вставить строки
Код: выделить все
                 'categories_description' => $_POST['categories_description'], 


3. Файл ...\admin\includes\applications\categories\classes\categories.php
Заменить эти строки:
Код: выделить все
            $Qcd = $osC_Database->query('update :table_categories_description set categories_name = :categories_name where categories_id = :categories_id and language_id = :language_id'); 


На эти:
Код: выделить все
            $Qcd = $osC_Database->query('update :table_categories_description set categories_name = :categories_name, categories_description = :categories_description where categories_id = :categories_id and language_id = :language_id');


Еще эти заменить:
Код: выделить все
            $Qcd = $osC_Database->query('insert into :table_categories_description (categories_id, language_id, categories_name) values (:categories_id, :language_id, :categories_name)');


На эти:
Код: выделить все
            $Qcd = $osC_Database->query('insert into :table_categories_description (categories_id, language_id, categories_name, categories_description) values (:categories_id, :language_id, :categories_name, :categories_description)');


После этих:
Код: выделить все
          $Qcd->bindTable(':table_categories_description', TABLE_CATEGORIES_DESCRIPTION);
          $Qcd->bindInt(':categories_id', $category_id);
          $Qcd->bindInt(':language_id', $l['id']);
          $Qcd->bindValue(':categories_name', $data['name'][$l['id']]);

Добавить эти:
Код: выделить все
          $Qcd->bindValue(':categories_description', $data['categories_description']);       


4. Файл ... \admin\includes\applications\categories\pages\edit.php

После строк:
Код: выделить все
    <div><label for="sort_order"><?php echo $osC_Language->get('field_sort_order'); ?></label><?php echo osc_draw_input_field('sort_order', $osC_ObjectInfo->get('sort_order')); ?></div>


Добавить строки:
Код: выделить все
    <div><label for="categories_description"><?php echo 'Описание категории';?></label><?php echo osc_draw_textarea_field('categories_description', $osC_ObjectInfo->get('categories_description')); ?></div>


5. Файл ... \admin\includes\applications\categories\pages\new.php

После строк:
Код: выделить все
    <div><label for="sort_order"><?php echo $osC_Language->get('field_sort_order'); ?></label><?php echo osc_draw_input_field('sort_order'); ?></div>


Добавить строки:
Код: выделить все
    <div><label for="categories_description"><?php echo 'Описание категории';?></label><?php echo osc_draw_textarea_field('categories_description'); ?></div>


6. Файл ...\includes\classes\category_tree.php
Эти строки:
Код: выделить все
        $Qcategories = $osC_Database->query('select c.categories_id, c.parent_id, c.categories_image, cd.categories_name from :table_categories c, :table_categories_description cd where c.categories_id = cd.categories_id and cd.language_id = :language_id order by c.parent_id, c.sort_order, cd.categories_name');


Заменить на:
Код: выделить все
        $Qcategories = $osC_Database->query('select c.categories_id, c.parent_id, c.categories_image, cd.categories_name, cd.categories_description from :table_categories c, :table_categories_description cd where c.categories_id = cd.categories_id and cd.language_id = :language_id order by c.parent_id, c.sort_order, cd.categories_name');


После строк:
Код: выделить все
          $this->_data[$Qcategories->valueInt('parent_id')][$Qcategories->valueInt('categories_id')] = array(  'name' => $Qcategories->value('categories_name'),
'image' => $Qcategories->value('categories_image'),


Добавить строки:
Код: выделить все
'description' => $Qcategories->value('categories_description'),


После строк:
Код: выделить все
            return array('id' => $id,
                  'name' => $info['name'],
                  'parent_id' => $parent,
                  'image' => $info['image'],


Добавить строки:
Код: выделить все
                  'description' => $info['description'], 


7. В Файле ...\includes\modules\product_griding.php

В конце самом, после строк
Код: выделить все
  <?php echo $Qlisting->getBatchTotalPages($osC_Language->get('result_set_number_of_products')); ?>
</div>

<?php


Добавим

Код: выделить все
   if (isset($_GET['manufacturers'])) {
   } else {      
      echo '<br /><br /><div style="color: #666666" align="justify">' . sprintf($osC_Category->getData('description')) . '</div>   <br />';
   }   



Ну вот пожалуй все что накопал.
После данных доработок, текст описания категории можно будет вводить в админке при редактировании категории
КОНТЕНТ - КАТЕГОРИИ.
Внизу появится текстовое поле "Описание категории".

Отпишитесь пожалуйста кто попробовал, все ли я написал что нужно. получилось ли.

Удачной оптимизации!
alphamobile
 
Сообщений: 12
Images: 24
Зарегистрирован: 04 авг 2012, 23:12
Откуда: Луганск
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0

Re: МОДУЛЬ - Описание категорий товаров

Сообщение AffinityStyle » 22 июл 2013, 19:28

Огромное спасибо. Очень полезный модуль. Все доходчиво описано и все работает. Успешного Вам продвижения и продаж.
AffinityStyle
 
Сообщений: 1
Зарегистрирован: 22 июл 2013, 19:23
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0


Вернуться в Движок RUBIC

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron