Альберт
С нами с 30 июня 2016; Место в рейтинге пользователей: #483Верный id последней вставленной записи через lastInsertId при использовании bindValue
Всем доброго дня!
Столкнулся с задачей импорта из кастомного csv данных в свою таблицу, сделал через INSERT INTO… VALUES… ON DUPLICATE KEY UPDATE.
Работает, но долго, как по мне.
Для того, чтобы достать id последней вставленной или обновленной записи, пользуюсь $modx->lastInsertId($q), все показывает правильно: если запись была, то возвращает ее id, если она новая, то id вставленной записи.
Попробовал перейти на однократную подготовку запроса до перебора цикла, а дальше при переборе уже
$q->bindValue(1, $data[0]);
$q->bindValue(2, $data[1]);
…
$q->execute();
Все, на этом id последней вставленной записи ломается: возвращает id больше, чем последний AUTO_INCREMENT в таблице, при этом записи в таблице никакие не появляются.
Подскажите, кто знает — как ускорить вставку, при этом сохранив информацию о верном id?
Столкнулся с задачей импорта из кастомного csv данных в свою таблицу, сделал через INSERT INTO… VALUES… ON DUPLICATE KEY UPDATE.
Работает, но долго, как по мне.
Для того, чтобы достать id последней вставленной или обновленной записи, пользуюсь $modx->lastInsertId($q), все показывает правильно: если запись была, то возвращает ее id, если она новая, то id вставленной записи.
Попробовал перейти на однократную подготовку запроса до перебора цикла, а дальше при переборе уже
$q->bindValue(1, $data[0]);
$q->bindValue(2, $data[1]);
…
$q->execute();
Все, на этом id последней вставленной записи ломается: возвращает id больше, чем последний AUTO_INCREMENT в таблице, при этом записи в таблице никакие не появляются.
Подскажите, кто знает — как ускорить вставку, при этом сохранив информацию о верном id?
[MiniShop2] Мобильная страница заказов для менеджера
Пользуясь случаем, поздравляю всех с новым modx.pro :) Василию огромный респект!
А вопрос такой – кто как решает задачу по кастомизации отображения заказа для менеджера?
Нужно организовать просмотр так, чтобы менеджер после получения уведомления о новом заказе кликал на телефоне ссылку и видел на одной странице без вкладок нужную информацию: контакты клиента, адрес и сам заказ.
Это успешно решается, в принципе, и просто отправкой настроенного письма, но там есть нюанс – нельзя проставить заказу новый статус или отменить его. А при открытии обычной страницы заказа в админке, на телефоне случается ад и даже таблицу с товарами толком увидеть нельзя, все «девочки» запутаются.
А вопрос такой – кто как решает задачу по кастомизации отображения заказа для менеджера?
Нужно организовать просмотр так, чтобы менеджер после получения уведомления о новом заказе кликал на телефоне ссылку и видел на одной странице без вкладок нужную информацию: контакты клиента, адрес и сам заказ.
Это успешно решается, в принципе, и просто отправкой настроенного письма, но там есть нюанс – нельзя проставить заказу новый статус или отменить его. А при открытии обычной страницы заказа в админке, на телефоне случается ад и даже таблицу с товарами толком увидеть нельзя, все «девочки» запутаются.
Решено: Minishop2 изменение функции добавления в корзину
Доброго дня!
Пытаюсь изменить функцию добавления в корзину, используя подключение сервиса из данной инструкции:
docs.modx.pro/components/minishop2/development/service/connection
1. Файл с новым классом myCartHandler создан и лежит в {core_path}/components/minishop2/custom/cart/my.mscarthandler.class.php
2. Файл зарегистрирован с помощью miniShop2->addService и, соответственно, запись находится в настройке ms2_services
3. Ничего не происходит — хоть ошибки в измененном классе делай, нигде ничего не проявляется…
UPD. Решение простое — нужно просто настройку ms2_cart_handler_class поменять на название своего класса, и все.
Пытаюсь изменить функцию добавления в корзину, используя подключение сервиса из данной инструкции:
docs.modx.pro/components/minishop2/development/service/connection
1. Файл с новым классом myCartHandler создан и лежит в {core_path}/components/minishop2/custom/cart/my.mscarthandler.class.php
2. Файл зарегистрирован с помощью miniShop2->addService и, соответственно, запись находится в настройке ms2_services
3. Ничего не происходит — хоть ошибки в измененном классе делай, нигде ничего не проявляется…
if(!class_exists('msCartHandler')) {
require_once dirname(dirname(dirname(__FILE__))) . '/model/minishop2/mscarthandler.class.php';
}
class myCartHandler extends msCartHandler implements msCartInterface {
public function add($id, $count = 1, $options = array())
{
...
}
}
Все уже перепробовал, подскажите — куда копать?UPD. Решение простое — нужно просто настройку ms2_cart_handler_class поменять на название своего класса, и все.
Тормозит поддомен, вешает базу
Всем доброго времени суток!
Никак не могу понять, как это возможно — но статичный шаблон на поддомене вешает базу данных.
Исходные данные:
Основной контекст web на основном домене, второй контекст на поддомене.
Переключение контекстов через ContextRouter, все настройки base_url, http_host, site_url, site_start заданы для обоих контекстов.
На поддомене только одна страница, отдельный шаблон.
Поддомен загружается нормально только пока в нем нет ссылок на файлы.
Как только появляются ссылки [[++assets_url]]css/..., js… или даже /assets/css/… и т. д., страница перестает загружаться окончательно (постоянно крутится «Ожидание test.site.ru»), а после нескольких попыток обновления страницы, Mysql server has gone away.
При этом, никаких вызовов в шаблоне даже нет.
КАК такое может быть, что я неправильно делаю?
Никак не могу понять, как это возможно — но статичный шаблон на поддомене вешает базу данных.
Исходные данные:
Основной контекст web на основном домене, второй контекст на поддомене.
Переключение контекстов через ContextRouter, все настройки base_url, http_host, site_url, site_start заданы для обоих контекстов.
На поддомене только одна страница, отдельный шаблон.
Поддомен загружается нормально только пока в нем нет ссылок на файлы.
Как только появляются ссылки [[++assets_url]]css/..., js… или даже /assets/css/… и т. д., страница перестает загружаться окончательно (постоянно крутится «Ожидание test.site.ru»), а после нескольких попыток обновления страницы, Mysql server has gone away.
При этом, никаких вызовов в шаблоне даже нет.
КАК такое может быть, что я неправильно делаю?
miniShop2 - Товары на главной, не выводится данные
Здравствуйте!
Подскажите, в чем может быть проблема — может, кто сталкивался.
Вывожу товары через pdoPage в категории — все отлично. Параметр &element=`msProducts`.
Пытаюсь вывести блок с последними товарами на главной, начинаются вопросы:
– если указать в parents id главной страницы каталога, то в вывод полезут и категории вперемешку с товарами, поэтому указываю нужные категории вручную
– у товаров в блоке на главной не выводится цена и фотография, но при этом нормально выводится название и id, на внутренних все нормально
Пример кода:
Подскажите, в чем может быть проблема — может, кто сталкивался.
Вывожу товары через pdoPage в категории — все отлично. Параметр &element=`msProducts`.
Пытаюсь вывести блок с последними товарами на главной, начинаются вопросы:
– если указать в parents id главной страницы каталога, то в вывод полезут и категории вперемешку с товарами, поэтому указываю нужные категории вручную
– у товаров в блоке на главной не выводится цена и фотография, но при этом нормально выводится название и id, на внутренних все нормально
Пример кода:
[[!pdoResources?
&element=`msProducts`
&parents=`10,11,12,13`
&limit=`10`
&tpl=`tpl.own.msProducts.row`
]]
Буду рад помощи! К MiniShop2 прикрутить выбор свойств товаров
2
Добрый день!
К небольшому каталогу необходимо прикрутить выбор свойств с мини-превью выбранного варианта. Другими словами, вместо поля «цвет» у нас есть «фактура 1» и «фактура 2», каждые из которых содержат набор названий с превью.
Необходимо сделать возможность выбора для товаров по одному значению из обоих списков, после чего можно отправить товар в корзину.
К небольшому каталогу необходимо прикрутить выбор свойств с мини-превью выбранного варианта. Другими словами, вместо поля «цвет» у нас есть «фактура 1» и «фактура 2», каждые из которых содержат набор названий с превью.
Необходимо сделать возможность выбора для товаров по одному значению из обоих списков, после чего можно отправить товар в корзину.