Добавление категорий товаров
Для добавления категории товара сначала необходимо выбрать текущую категорию, куда будет добавляться новая. Это выполняют, переходя по дереву категорий и щелкая мышью по нужной категории. Затем следует нажать на ссылку Добавить. Из файла prgkategery/add_admin_kategory.php (листинг 4.16) вызывается xajax-функция Add_Admin_Kategory, которая выдает форму добавления категории (рис. 4.13).
Рис. 4.13. Форма добавления категории
Листинг 4.16
<?php
// Форма добавления новой категории
function Add_Admin_Kategory($Id)
{
$objResponse = new xajaxResponse();
$objResponse->assign("flag_ajax","value",’yes’);
// подключаемся к базе данных
require_once("mybaza.php");
$text1="<b>Добавление категории</b>";
$text1.="<form id=’FormAdminKategory’ action=’javascript:void(null);’ onsubmit=’xajax.$(\"ButtonFormAdminKategory\").disabled=true; xajax.$(\"ButtonFormAdminKategory\").value=
\"Подождите…\"; xajax_Go_Add_Admin_Kategory(xajax.getFormValues(
\"FormAdminKategory\"));’>";
$text1.="<input type=’hidden’ name=’id_parent’ value=’".$Id."’ >";
$text1.="<br>".f_string_kategory($Id)."-><input type=’text’ name=’name’ value=” ";
$text1.="<br><input type=’submit’ id=’ButtonFormAdminKategory’
value=’Добавить ->’> ";
$query1="SELECT id FROM kategory WHERE id_parent=’".$Id."’ && visible=’yes’ ";
$rez1=mysql_query($query1); if(mysql_num_rows($rez1)>0)
$text1.=" <input type=’button’ value=’Возврат’ onclick=’
xajax_Admin_Open_Kategory(".$Id.");’></form>";
else
$text1.=" <input type=’button’ value=’Возврат’ onclick=’ xajax_Admin_Tek_Kategory(".$Id.");’></form>";
$objResponse->assign("admin_path_kategory","innerHTML",$text1);
$objResponse->assign("flag_ajax","value",’no’); return $objResponse;
}
?>
Рис. 4.14. Добавлена категория Иконки
В поле вводим название категории и нажимаем на кнопку Добавить. Данные формы передаются xajax-функции Go_Add_Admin_Kategory, которая добавляет новую категорию товаров в базу (родительской категорией для нее будет текущая категория). Новая категория добавится в дерево категорий (рис. 4.14). Функция Go_Add_Admin_Kategory находится в файле prgkategery/go_add_admin_ kategory.php (листинг 4.17).
Листинг 4.17
<?php
// Добавление новой категории
function Go_Add_Admin_Kategory($Id)
{
$objResponse = new xajaxResponse();
$objResponse->assign("flag_ajax","value",’yes’);
// подключение к базе данных
require_once("mybaza.php");
// проверка переданного значения
if(strlen(utftowin($Id[name]))==0)
{
$objResponse->alert("Пустое название !!!");
$objResponse->assign("flag_ajax","value",’no’); return $objResponse;
}
// добавление
$query1="INSERT INTO kategory SET id_parent=’".$Id[id_parent]."’, name=’".utftowin($Id[name])."’,nn=’0′,visible=’yes’ ";
$rez1=mysql_query($query1); if(!$rez1)
{
$objResponse->alert("Ошибка добавления !!!");
$objResponse->assign("flag_ajax","value",’no’); return $objResponse;
}
// заново переоткрыть родительскую категорию
$parent=$Id[id_parent];
$content=f_admin_open_kategory($parent);
$objResponse->assign("admin_kategory".$parent,"innerHTML",$content);
$content=f_string_kategory($parent);
$content="<b>Текущая категория :</b><br>".$content;
$content.="<br><a href=’javascript:void();’ onclick=’ xajax_Delete_Admin_Kategory(".$parent.");’>Удалить</a>";
$content.="<br><a href=’javascript:void();’ onclick=’ xajax_Rename_Admin_Kategory(".$parent.");’> Переименовать</a>";
$content.="<br><a href=’javascript:void();’ onclick=’ xajax_Add_Admin_Kategory(".$parent.");’>Добавить</a>";
$objResponse->assign("admin_path_kategory","innerHTML",$content);
$objResponse->script("document.getElementById (‘admin_path_kategory’).scrollIntoView();");
$objResponse->assign("flag_ajax","value",’no’); return $objResponse;
}
?>
Источник: Петин В. А., Сайт на AJAX под ключ. Готовое решение для интернет-магазина. — СПб.: БХВ-Петербург, 2011. — 432 с.: ил. + CD-ROM — (Профессиональное программирование)