Категории

[FAQ] Часто задаваемые вопросы и ответы

Проблемы и решения

Ошибки и исправления

Общие вопросы

Расширения

Установка и обновление

Модули

Шаблоны

Локализация интерфейса

Коммерческие предложения

Учимся бизнесу

Бизнес книги

Поисковая оптимизация (SEO)

Магазины на ShopOS

Хостинг для ShopOS

Предложения и пожелания

Курилка

Как создать дополнительное поле описания категории?

Подскажите как создать дополнительное поле описания категории и вставить его в шаблон?


По аналогии с текущими файлами:
1. Поле в базе
2. Редактирование в админке
3. Вывод в шаблоне


Спасибо за ответ. Алгоритм мне понятен, я в php и mysql не силен. Был бы очень благодарен за более подробные указания. :)


Писать для Вас тут учебник  по WEB-программированию как-то не хочется... Да и в Сети таких учебников много..


Не хочется, не пишите.


Разобрался сам. Если кому будет интересно, пишите


подскажите мне пожалуйста как вы решили этот вопрос. Заранее благодарен!!!


1. Нужно в таблице os_categories_description добавить столбец  (назвать его например categories_description_2)
2. в файле /admin/includes/modules/new_category.php после:
<tr>
                <td valign="top" class="main"><?php echo TEXT_EDIT_CATEGORIES_DESCRIPTION; ?></td>
                <td valign="top" class="main"><?php echo os_draw_textarea_field('categories_description[' . $languages['id'] . ']', 'soft', '103', '25', (($categories_description['id']]) ? stripslashes($categories_description['id']]) : os_get_categories_description($cInfo->categories_id, $languages['id']))); ?><br /><a href="javascript:toggleHTMLEditor('<?php echo 'categories_description[' . $languages['id'] . ']';?>');" class="code" ><?php echo TEXT_EDIT_E;?></a></td>
                </tr>

вставить:

<tr>
                <td valign="top" class="main"><?php echo TEXT_EDIT_CATEGORIES_DESCRIPTION_2; ?></td>
                <td valign="top" class="main"><?php echo os_draw_textarea_field('categories_description_2[' . $languages['id'] . ']', 'soft', '103', '25', (($categories_description_2['id']]) ? stripslashes($categories_description_2['id']]) : os_get_categories_description_2($cInfo->categories_id, $languages['id']))); ?><br /><a href="javascript:toggleHTMLEditor('<?php echo 'categories_description_2[' . $languages['id'] . ']';?>');" class="code" ><?php echo TEXT_EDIT_E;?></a></td>
                </tr>

3. В файле /admin/lang/ru/categories.php например после:

define('TEXT_EDIT_CATEGORIES_DESCRIPTION', 'Описание категории:');


вставить:

define('TEXT_EDIT_CATEGORIES_DESCRIPTION_2', 'Описание категории 2:'');


4. В файле /admin/includes/functions/general.php после:

function os_get_categories_description($category_id, $language_id) {
$category_query = os_db_query("select categories_description from ".TABLE_CATEGORIES_DESCRIPTION." where categories_id = '".$category_id."' and language_id = '".$language_id."'");
$category = os_db_fetch_array($category_query);

return $category['categories_description'];
}


вставить:

function os_get_categories_description_2($category_id, $language_id) {
$category_query = os_db_query("select categories_description_2 from ".TABLE_CATEGORIES_DESCRIPTION." where categories_id = '".$category_id."' and language_id = '".$language_id."'");
$category = os_db_fetch_array($category_query);

return $category['categories_description_2'];
}


5. В файле /admin/includes/classes/categories.php в строке:

$sql_data_array = array ('categories_name' => os_db_prepare_input.....


вставить:

'categories__description_2' => os_db_prepare_input($categories_data['categories__description_2']]),

6. В файле /modules/default.php вставить во всех:

$category_query = "select
            cd.categories_description,


cd.categories_description_2,

и после:

$default->assign('CATEGORIES_IMAGE', $image);
            $default->assign('CATEGORIES_DESCRIPTION', $category['categories_description']);

вставить:

$default->assign('CATEGORIES_DESCRIPTION_2', $category['categories_description_2']);


7. Вставить метку {$CATEGORIES_DESCRIPTION_2} в шаблон. файл /themes/ваш_шаблон/module/category_listing.html


спасибо.


zlatnik, вроде забыли указать, что еще нужно выполнить запрос, чтобы в БД создалось поле для второго описания.


Источник



Copyright ShopOS