PHPShopSort

Материал из PHPShop

Перейти к: навигация, поиск

Содержание

PHPShopSort

PHPShopSort - библиотека для работы с характеристиками товаров.

Методы

  • value() - Вывод значений характеристик
  • display() - Вывод блока сортировки по характеристикам
  • getContent() - Вывод текущего содержимого списка характеристик

Аргументы

  • $category - ИД категории характеристики
  • $sort - сериализованный массив характеристик
  • $direct - опция учета направления сортировки
  • $template - Имя функции шаблона вывода
  • $vendor - массив данных характеристик у товара
  • $filter - опция учета выборки с учетом флага фильтра в характеристики
  • $goodoption - опция учета выборки с учетом отсутствия флага опции товара в характеристики

Примеры

Для работы с характеристиками нужно подключить библиотеку характеристик.

PHPShopObj::loadClass("sort");

Вывод характеристик товара

 
$PHPShopSort = new PHPShopSort($category_id, $sort_array, false, 'sorttemplate');
$sort=$PHPShopSort->disp();

Шаблон вывода характеристик

Для настройки вывода характеристик используется функция sorttemplate(), указанная в качестве аргумента при вызове класса. Пример персональной функции из карточки редактирования товара:

 
/**
 * Шаблон вывода характеристик
 * @param int $value значение характеристики
 * @param int $n ИД характеристики
 * @param int $title заголовок характеристики
 * @param array $vendor массив характеристик
 */
function sorttemplate($value, $n, $title, $vendor) {
    global $PHPShopGUI;
    $i = 1;
    $value_new[0]=array(__('Нет данных'),null, null);
    if (is_array($value)) {
        foreach ($value as $p) {
            $sel = null;
            if (is_array($vendor[$n])) {
                foreach ($vendor[$n] as $value) {
 
                    if ($value == $p[1])
                        $sel = "selected";
                }
            }elseif ($vendor[$n] == $p[1])
                $sel = "selected";
 
            $value_new[$i] = array($p[0], $p[1], $sel);
            $i++;
        }
    }
 
    $value = $PHPShopGUI->setSelect('vendor_array_new[' . $n . '][]', $value_new, '100%', false, false, false, false, false, $n,'list'.$n);
 
    $disp=$PHPShopGUI->setLine().$PHPShopGUI->setField($title, $value,'left').
            $PHPShopGUI->setField(__('Добавить и активировать новое значение характеристики'), $PHPShopGUI->setInputText(false, 'addval'.$n, null, $size = 300).$PHPShopGUI->setInput("button", "", "Добавить", "right", 70, "return enterchar($n);", "but").'<B id="sta'.$n.'"></B>','left');
 
    return $disp;
}

PHPShopSortArray

PHPShopSortArray - упрощенный доступ к массиву характеристик товаров на основе PHPShopArray.

Примеры

Для работы с характеристиками нужно подключить библиотеку характеристик. PHPShopObj::loadClass("sort");

Вывод данных характеристики по ее ID

 
$PHPShopSortArray = new PHPShopSortArray();
$name=$PHPShopSortArray->getParam('14.name');

PHPShopSortSearch

Вывод значений характеристики товаров по имени характеристики.

Примеры

Вывод значений характеристики "Бренд" у товаров

Используется в генераторе Яндекс.Маркета.

 
$search=PHPShopSortSearch('Бренд'); 
$sort_value=$search->search($vendor_array);

где:

  • $vendor_array - массив характеристик товара