Функционал магазина

Модератор
#
Re: Функционал магазина
viptech писал(а):
1) xsl не хочет мне выдавать второй уровень ни в какую,

Если будете грузить на AJAX, то в XSL их и не должно быть. Если все же нужны, то в поиске по слову "tree" посмотрите режимы генерации дерева групп (они же описаны в API).

viptech писал(а):
2) как это 2 поле заставить динамически обновлятся в зависимости от изминения первго (через яваскрипт я ловлю айди выбранной групы, но что мне с ним делать.

Нужно написать свою функцию-обработчик на AJAX, в качестве примера можете смотреть функции и обработчики загрузки городов страны при заказе. Если не будет получаться - показывайте что сделали, будем разбираться.
#
Re: Функционал магазина
сделал вроде бы работает (пока без обращения к базе)

теперь по поводу запроса данных
вот код который я вставил в обработку аяксом по изминению поля

if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'get_model' && isset($_REQUEST['proizvoditel_id']))
{
   $proizvoditel_id = to_int($_REQUEST['proizvoditel_id']);

   $result = array();

   if ($proizvoditel_id)
   {
      // Расположения заполняем только тогда, когда страна указана
      
$param['shop_groups_parent_id'] = $proizvoditel_id;
$param['group_field_order'] = 70;
$param['group_order'] = 'Asc';

$res = $shop->GetAllGroups(1, $param = array());

if ($res)

      {
         print_r ($res);
                                    while ($row = mysql_fetch_assoc($res))
         {
            $result[$row['shop_groups_id']] = $row['shop_groups_name'];
         }
      }

//print_r ($result);

   }

   $JsHttpRequest = new JsHttpRequest(SITE_CODING);

   $GLOBALS['_RESULT'] = array(
   'result' => $result);

   echo $JsHttpRequest->LOADER;
   exit();
}

на выделенной строке происходит следующее
ПРЕДУПРЕЖЕДЕНИЕ: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource в файле Q:\home\host5\www\structure\ModulesConfig\ModuleConfig84.php (строка 29)

а масив $res почему то всегда выдает все группы несмотря на то что в доппараметрах указал родителя $param['shop_groups_parent_id'] = $proizvoditel_id;
#
Re: Функционал магазина
я не правильно что то делаю?
Модератор
#
Re: Функционал магазина
viptech,
Согласно API метод GetAllGroups возвращает массив, соответственно необходимо с ним работать как с массивом, а Вы работаете как с результатом выборки.
Соответственно у Вас будет не
while ($row = mysql_fetch_assoc($res))
         {
            $result[$row['shop_groups_id']] = $row['shop_groups_name'];
         }
, а
if (count($res) > 0)
         {
                  foreach ($res as $row)
                  {
                     $result[$row['shop_groups_id']] = $row['shop_groups_name'];
                  }
         }
Модератор
#
Re: Функционал магазина
viptech писал(а):
а масив $res почему то всегда выдает все группы несмотря на то что в доппараметрах указал родителя $param['shop_groups_parent_id'] = $proizvoditel_id;

Правильно, т.к. потом его же и обнуляете:
$res = $shop->GetAllGroups(1, $param[s] = array()[s]);
#
Re: Функционал магазина
HostCMS писал(а):
$res = $shop->GetAllGroups(1, $param[s] = array()[s]);


тогда как правильно передавать параметры

присваеивать переменной масив и передавать в функцию?

в примере в документации вот что

<?php
$shop = new shop();

$shop_id = 1;
$param['shop_groups_parent_id'] = 589;
$param['group_field_order'] = 70;
$param['group_order'] = 'Asc';

$row = $shop->GetAllGroups($shop_id, $param = array());

// Распечатаем результат
print_r($row);
?>


почему и удивило.
я так понимаю правильно
$row = $shop->GetAllGroups($shop_id, $param[]);
Модератор
#
Re: Функционал магазина
viptech,
мы API сегодня обновили. Правильно вообще там не писать никакого присваивания:
$row = $shop->GetAllGroups($shop_id, $param);
Авторизация