Корректировка handler1.php

#
Корректировка handler1.php
Добрый день.
Необходимо в письмо администратору о заказе внести изменения. Для этого нужно передать в хмл данные о всех группах магазина. Но что то у меня не получается совсем. Делаю так (мое добавление выделено жирным)

         /* Формируем XML */
         $xmlData = '<?xml version="1.0" encoding="'.SITE_CODING.'"?>'."\n";
         $xmlData .= '<document_list>'."\n";

         /* Ссылака на версию для печати */
         $shop_row = $shop->GetShop($shop_id);
         if ($shop_row)
         {
            /* Получаем путь к магазину */
            $Structure = & singleton('Structure');
            $shop_path = "/".$Structure->GetStructurePath($shop_row['structure_id'], 0);
            $shop_path .= "cart/print/{$order_row['shop_order_guid']}/";
            $xmlData .= "<print_link>".$shop_path."</print_link>";
         }

         $xmlData .= $shop->GetXmlForOrder($order_id, false, true);
         $xmlData .= $shop->GetXmlForItemsOrder($order_id);
         $xmlData .= $shop->GetGroups($shop_id);

         $xmlData .= '</document_list>'."\n";

         $xsl = new xsl();
         echo $xsl->build($xmlData, 'ОплатаПриПолучении');

         if ($_SESSION['last_order_id'] == 0)
         {
            $structure = & singleton('Structure');
            $structure_row = $structure->GetStructureItem(to_int($shop_row['structure_id']));

            $lib = new lib();
            $LA = $lib->LoadLibPropertiesValue(to_int($structure_row['lib_id']), to_int($structure_row['structure_id']));

            $date_str = date("d.m.Y H:i:s");

            if (trim(to_str($order_row['shop_order_account_number'])) != '')
            {
               $shop_order_account_number = trim(to_str($order_row['shop_order_account_number']));
            }
            else
            {
               $shop_order_account_number = $order_id;
            }

            /* Отправляем письмо заказчику */
            $shop->SendMailAboutOrder($shop_id,
            $order_id,
            $site_users_id,
            to_str($LA['xsl_letter_to_admin']),
            to_str($LA['xsl_letter_to_user']),
            $order_row['shop_order_users_email'],
            array('admin-content-type' => 'html',
            'user-content-type' => 'html',
            'admin-subject' => sprintf($GLOBALS['MSG_shops']['shop_order_admin_subject'], $shop_order_account_number, $shop_row['shop_shops_name'], $date_str),
            'user-subject' => sprintf($GLOBALS['MSG_shops']['shop_order_user_subject'], $shop_order_account_number, $shop_row['shop_shops_name'], $date_str),
            'attach_eitem_file' => 0,
            'email_from_admin' => $order_row['shop_order_users_email']));
         }



Что я делаю не так? Как же добавить группы магазина в этот хмл?
#
Re: Корректировка handler1.php
Qualis писал(а):
Что я делаю не так?
Вы с какого-то перепугу пытаетесь вставить посреди xml-строки результат работы функции, которая возвращает ресурс!
А ведь коль скоро вы вставляете результат вызова функции в строку, представляющую собой xml-документ, то вместо GetGroups() вам нужна такая функция, которая, во1х, возвратит строковое значение, и во вторых, это строковое значение будет представлять собой валидный фрагмент xml-документа.
В данном случае это будет GetGroupsXmlTree() - http://hostcms.ru/api/HostCMS_5/shop.html#methodGetGroupsXmlTree

Вопрос вот только возник, чисто юзабилистский - а зачем в письме админу все группы магазина?
Заказов не беру. Консультирую редко.
#
Re: Корректировка handler1.php
Kotoff писал(а):
Вопрос вот только возник, чисто юзабилистский — а зачем в письме админу все группы магазина?

Нужно вывести дерево групп товаров от корня, для указания в письме.
#
Re: Корректировка handler1.php
Kotoff,
Что то у меня даже с GetGroupsXmlTree не получается.
Подскажите как правильно ее прописать?
#
Re: Корректировка handler1.php
Qualis, а ссылочку на api я вам для чего дал?

Можно так:

$parametres['parent_group_id'] = 0;
$xmlData .= $shop->GetGroupsXmlTree($current_shop_id, $parametres);
Заказов не беру. Консультирую редко.
#
Re: Корректировка handler1.php
Qualis, ну как, получилось у вас?
Заказов не беру. Консультирую редко.
#
Re: Корректировка handler1.php
Нет, я так же пробовал и ранее, ничего не передается, буду писать запрос к БД в этом месте и передавать в хмл
#
Re: Корректировка handler1.php
странно. может быть потому что у вас $current_shop_id не определена?
попробуйте в моем примере вызова, который чуть выше, вместо $current_shop_id вписать цифрой id магазина.
Заказов не беру. Консультирую редко.
#
Re: Корректировка handler1.php
Да пробовал я. Прежде чем написать сюда все перепробовал. Даже так пытался:
$xmlData .= $shop->GetGroupsXmlTree(1, 0);

все равно не срабатывает.
#
Re: Корректировка handler1.php
Qualis писал(а):
GetGroupsXmlTree(1, 0);

так не правильно. вторым параметром у метода должен быть массив, а вы передаете число. вместо нуля можно написать или
array('parent_group_id' => 0)
, или так как я показал выше.
Заказов не беру. Консультирую редко.
Авторизация