Последние темы


Не выводится заказ в Управление заказами

  • По какой то причине после оформления заказа он не появляется в админке. А также заметил что не выводится значение плейсхолдера +orderID в письме на почту. В чем может быть проблема?

    В логах пишет ошибку:
    [2017-04-03 00:51:59] (ERROR @ /home/bh61897/demo.gem-test.ru/core/xpdo/om/xpdoobject.class.php : 1452) Error 42S02 executing statement:
    INSERT INTO modx_shopkeeper3_orders (contacts, options, price, currency, date, sentdate, note, email, delivery, delivery_price, payment, tracking_num, status) VALUES ('[{"name":"fullname","value":"\u0410\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e","label":"\u0418\u043c\u044f"},{"name":"email","value":"Coolvill@mail.ru","label":"\u0410\u0434\u0440\u0435\u0441 \u044d\u043b. \u043f\u043e\u0447\u0442\u044b"},{"name":"phone","value":"645","label":"\u0422\u0435\u043b\u0435\u0444\u043e\u043d"}]', '', '100', 'руб.', '2017-04-03 00:51:59', '2017-04-03 00:51:59', '', 'Coolvill@mail.ru', '', '0', '', '', '1')
    Array
    (
    [0] => 42S02
    [1] => 1146
    [2] => Table 'bh61897_modx_steelpower.modx_shopkeeper3_orders' doesn't exist
    )
    Чанк корзины со страницы оформления заказа:

    <section id="basket" class="container-fluid">
    	<article class="basket container">
    		<div class="row">
    			<div class="text-left col-lg-12 col-md-12 col-sm-12 col-xs-12">
    				<h2>[[*pagetitle]]</h2>
    				<div class="path">
    					<a href="" class="underline">Главная</a>
    					<span> / </span>
    					<a href="">[[*pagetitle]]</a>
    				</div>
    			</div>
    		</div>
    		<div class="row">
    			<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
    				[[!Shopkeeper3@full_basket]]
                       
                    [[!FormIt?
                    &hooks=`spam,shk_fihook,email,FormItAutoResponder,redirect`
                    &submitVar=`order`
                    &emailTpl=`shopOrderReport`
                    &fiarTpl=`shopOrderReport`
                    &emailSubject=`В интернет-магазине "[[++site_name]]" сделан новый заказ`
                    &fiarSubject=`Вы сделали заказ в интернет-магазине "[[++site_name]]"`
                    &emailTo=`[[++emailsender]]`
                    &redirectTo=`38`
                    &validate=`fullname:required,email:email:required,phone:required`
                    &errTpl=`<br /><span class="error">[[+error]]`
                    ]]
                       
                    [[!$basket_order]]
    			</div>
    		</div>
    	</article>
    </section>
    

    Чанк basket_order :

    [[!shkOptions?
    &get=`delivery,payments`
    &post_name=`shk_delivery,payment`
    &toPlaceholders=`1`
    &pl_prefix=`shkopt_`
    &tpl=`select_option`
    ]]
    
    <p class="error">[[!+fi.error.error_message]]</p>
    <br />
    
    <form method="post" action="[[~[[*id]]]]" id="basket_order">
    
    <fieldset>
    
    <input type="text" name="nospam:blank" value="" style="display:none;" />
    <input type="hidden" name="order" value="1" />
    
    <table cellpadding="3">
        <tr>
            <td>Ф.И.О.*:</td>
            <td>
                <input name="fullname" size="30" class="textfield" type="text" value="[[!+fi.fullname:default=`[[+modx.user.id:userinfo=`fullname`]]`:ne=`0`:show]]" />
                <div>[[!+fi.error.fullname]]</div>
            </td>
        </tr>
        <tr>
            <td>E-mail*:</td>
            <td>
                <input name="email" size="30" class="textfield" type="text" value="[[!+fi.email:default=`[[+modx.user.id:userinfo=`email`]]`:ne=`0`:show]]" />
                <div>[[!+fi.error.email]]</div>
            </td>
        </tr>
        <tr>
            <td>Телефон*:</td>
            <td>
                <input name="phone" size="30" class="textfield" type="text" value="[[!+fi.phone:default=`[[+modx.user.id:userinfo=`phone`]]`:ne=`0`:show]]" />
                <div>[[!+fi.error.phone]]</div>
            </td>
        </tr>
        <tr>
            <td></td>
            <td><input type="submit" name="submit_button" class="button" value="Отправить" /></td>
        </tr>
    </table>
    
    </fieldset>
    
    </form>
    
  • Зашел через PhpMyAdmin в бд и не нашел там этой таблицы modx_shopkeeper3_orders. Получается что то мешает ее создать, но куда копать? Как узнать что именно мешает?

  • Какая версия MODX и SHK? Переустанавливать Шопкипер пробовали?

  • @Andchir
    MODX Revolution 2.5.5-pl
    shopkeeper3 3.2.7-pl2
    Да, пробовал, но не помогло....

 

Последние комментарии

  • Y

    В чем может быть проблема?

    Читать далее
  • Y

    Big и Small Images могут быть от 1 до 10, Summary иногда имеет внутри текст и выглядит так:

    <Summary> <item>текст</item> </Summary>

    Читать далее
  • Y

    Не импортируются товары из Xml, вместо них выводит такие ошибки:

    Invalid argument supplied for foreach()
    SimpleXMLElement::xpath(): Invalid expression
    PHP warning: SimpleXMLElement::xpath(): xmlXPathEval: evaluation failed
    PHP warning: current() expects parameter 1 to be array, boolean given

    Вот как выглядит строка товара xml:
    <root>

    <Big_Images> <Big_Images0>url to img</Big_Images0> <Big_Images1>url to img</Big_Images0> </Big_Images> <Small_Images> <Small_Images0>url to img</Small_Images0> <Small_Images1>url to img</Small_Images1> </Small_Images> <Title>рандомное имя</Title> <Summary/> <Price>7.43</Price> <Main_Info><item>много html кода</item></Main_Info> </root>

    И вот сам php файл для импорта:

    <?php //разбивка по столбцам при импорте и экспорте (content|tv|category) //$cf_config['content_row'] = array( //array('Title',array('pagetitle','content')), //array('Title',array(43,'tv')), //array('Big_Images',array(44,'tv')), //array('Price',array(45,'tv')) //); //значения по умолчанию при импорте или проверка при экспорте $cf_config['imp_content_default'] = array( 'content' => array( 'deleted' => 0, 'published' => 1, 'description' => '', 'show_in_tree' => 0, 'class_key' => 'msProduct', 'template' => 8 // ID шаблона товара //'createdon' => strtotime("now") //'publishedon' => strtotime("now") //'pub_date' => strtotime("now") //'editedby' => 1 //'editedon' => strtotime("now") ), 'tv' => array( //7 => 0 ) ); //первая строка - названия полей $cf_config['include_captions'] = false; //число товаров импортируемых за один раз (загрузка по группам). 0 - не ограничивать. $cf_config['batch_import'] = 0; //разбивать по категориям $cf_config['include_categories'] = false; //удалять дочерние категории при очистке и обновлении каталога $cf_config['delete_subcategories'] = true; //по какому полю проверять соответствие товара при обновлении. false - не проверять (очистка категории при обновлении). $cf_config['imp_chk_field'] = 'pagetitle'; //проверять соответствие товара при обновлении по значению TV. Указать ID TV. false - не проверять (очистка категории при обновлении). $cf_config['imp_chk_tvid_val'] = false; //Добавлять товары, которые не найдены при обновлении по TV (imp_chk_tvid_val) или полю (imp_chk_field) $cf_config['imp_if_not_exist'] = false; //удалять HTML-теги при экспорте $cf_config['exp_strip_tags'] = false; //автоматически генерировать псевдоним (alias) при импорте //false - выключено; true - генерировать с переводом в транслит; 'notranslit' - генерировать без перевода в транслит. $cf_config['imp_autoalias'] = false; //Изменить значения поля для всех вложенных товаров до начала импорта. //Например можно отменить публикацию для всех товаров и публиковать только те, которые есть в новом прайс-листе. //первый массив - какие поля и на какие значения менять, второй массив - условия которые нужно проверять (можно сделать пустым) $cf_config['imp_before_change'] = false;//'[{"tv.inventory":0},{}]';//'[{"published":0},{"tv.pricename":"Поставщик1"}]';//false - для отмены //удалить файл после экспорта (скачивания) $cf_config['exp_delete_file'] = false; //кодировка CSV-файла при экспорте $cf_config['exp_csv_charset'] = 'UTF-8'; //'windows-1251' //Импортировать (обновлять) пустые значения $cf_config['imp_empty'] = true; //Имя файла процессора, который использовать для импорта. Если пусто, используется стандартный процессор "import". $cf_config['imp_custom_processor'] = ''; //путь (xpath) в XML структуре до товаров $cf_config['imp_xml_itemsparent_path'] = '';//'/catalog/shop/offers'; //Структура XML файла для импорта $cf_config['imp_xml_structure'] = <<<EOF <root> <Big_Images> <Big_Images0>tv44</Big_Images0> <Big_Images1>tv48</Big_Images1> <Big_Images2>tv49</Big_Images2> <Big_Images3>tv50</Big_Images3> <Big_Images4>tv51</Big_Images4> <Big_Images5>tv52</Big_Images5> <Big_Images6>tv53</Big_Images6> <Big_Images7>tv54</Big_Images7> <Big_Images8>tv55</Big_Images8> <Big_Images9>tv56</Big_Images9> </Big_Images> <Small_Images> <Small_Images0>tv47</Small_Images0> <Small_Images1>tv58</Small_Images1> <Small_Images2>tv59</Small_Images2> <Small_Images3>tv60</Small_Images3> <Small_Images4>tv61</Small_Images4> <Small_Images5>tv62</Small_Images5> <Small_Images6>tv63</Small_Images6> <Small_Images7>tv64</Small_Images7> <Small_Images8>tv65</Small_Images8> <Small_Images9>tv66</Small_Images9> </Small_Images> <Title>pagetitle</Title> <Summary> <item>tv57</item> </Summary> <Price>tv45</Price> <Main_Info> <item>tv46</item> </Main_Info> </root> EOF; //тестирование конфигурации (без записи в БД). Отчёты -> Журнал ошибок. $cf_config['imp_testmode'] = false; //функция для фильтрации значений при ИМПОРТЕ function filter_import($value_arr){ $output_arr = $value_arr; /* if(isset($output_arr['content']['pagetitle'])) $output_arr['content']['pagetitle'] = mb_strtoupper($output_arr['content']['pagetitle'], 'UTF-8'); */ return $output_arr; } //функция для фильтрации значений при ЭКСПОРТЕ function filter_export($value_arr,$doc_id=0){ $output_arr = $value_arr; //var_dump($value_arr,$output_arr); //exit; /* if(isset($output_arr['price'])) $output_arr[1] = floatval($output_arr[1]) - 200; */ return $output_arr; } ?>

    Читать далее
  • Начать нужно с документации. Потом открыть файл конфигурации. Потом можно на форуме почитать темы, связанные с CatalogFill.

    Читать далее