Внешний модуль для PHPshop

Интеграция программы в различные учётные системы и интернет магазины.
MirTN
Сообщения: 419
Зарегистрирован: 14 фев 2011 14:08

Добрый день!
Помогите, пожалуйста с внешним модулем для движка PHPshop.
Нужен вариант №2.
Вариант №1 нам не подходит. На сайте необходимо обновления статуса "наличие" в соответствии с учетной системой.
То есть, если товар пропал, он должен перевезтись в статус "под заказ".
Просто убрать товар сайта не походит.
Аватара пользователя
TechAdmin
Администратор
Сообщения: 4286
Зарегистрирован: 27 авг 2008 14:30

Для работы модуля в режиме "Вариант №2" вам необходимо модифицировать модуль следующим образом.
Закоментировать строку №98:

Код: Выделить всё

mysql_query("update ".$phpshop_products." set enabled=0");
ниже добавить строку:

Код: Выделить всё

mysql_query("update ".$phpshop_products." set items=0");
modify_module_phpshop1.png
modify_module_phpshop1.png (24.6 КБ) 8026 просмотров
Изменить строку №192:

Код: Выделить всё

mysql_query("UPDATE ".$phpshop_products." SET price=".$parameter5.", enabled='1', items=100, name='".str_replace("'", '*' , $parameter4)."', category=".$parameter2.", uid='".$parameter3."', yml='1', p_enabled='1' WHERE id='".$parameter1."' limit 1");
на:

Код: Выделить всё

mysql_query("UPDATE ".$phpshop_products." SET price=".$parameter5.", enabled='1', items=100, name='".str_replace("'", '*' , $parameter4)."', category=".$parameter2.", uid='".$parameter3."', yml='1', p_enabled='1', items='".$parameter13."' WHERE id='".$parameter1."' limit 1");
modify_module_phpshop2.png
modify_module_phpshop2.png (18.06 КБ) 8026 просмотров
Изменить строку №198:

Код: Выделить всё

mysql_query("insert into ".$phpshop_products." (id, name, price, enabled, description, content, descrip, keywords, category, title, uid, yml, p_enabled, items) VALUES(".$parameter1.",'".str_replace("'", '*' , $parameter4)."',".$parameter5.",'1','".$parameter12."','".$parameter17."','".$parameter9."','".$parameter10."',".$parameter2.",'".$parameter8."','".$parameter3."','1','1', '100')");
на:

Код: Выделить всё

mysql_query("insert into ".$phpshop_products." (id, name, price, enabled, description, content, descrip, keywords, category, title, uid, yml, p_enabled, items) VALUES(".$parameter1.",'".str_replace("'", '*' , $parameter4)."',".$parameter5.",'1','".$parameter12."','".$parameter17."','".$parameter9."','".$parameter10."',".$parameter2.",'".$parameter8."','".$parameter3."','1','1', '".$parameter13."')");
modify_module_phpshop3.png
modify_module_phpshop3.png (15.38 КБ) 8026 просмотров
После изменений на сайте будет выводиться кол-во доступного товара
modify_module_phpshop4.png
modify_module_phpshop4.png (26.3 КБ) 8026 просмотров
На основании этой информации, вы можете регулировать вывод информации о статусе товара, например: "В наличии" (если кол-во >0), "Под заказ" (если кол-во =0), для этого внесите изменения в файл дизайн шаблона.
С уважением, поддержка ElbuzGroup.
MirTN
Сообщения: 419
Зарегистрирован: 14 фев 2011 14:08

Спасибо большое!
Код исправили, но появилась другая проблема.
Теперь в админку магазина информация по наличию загружается правильно.
То есть, если товар есть в наличии, то в админке магазина ставится "100", если товара нет, то ставится "0".

Но, на сайте все равно информация по наличию не корректная выводится.
Если в админке магазина статус товара поменялся на "0", то на сайте он все равно стоит в наличии, только количество не указывается...

А вот если после обновления зайти в товар (в админке) и просто нажать ок, то информация по этому товару на сайте изменится
Аватара пользователя
TechAdmin
Администратор
Сообщения: 4286
Зарегистрирован: 27 авг 2008 14:30

Может кеширование данных происходит, есть ли в PHPshop функция сброса кеша?
В шаблоне дизайна вы производили изменения?
С уважением, поддержка ElbuzGroup.
MirTN
Сообщения: 419
Зарегистрирован: 14 фев 2011 14:08

TechAdmin писал(а):Может кеширование данных происходит, есть ли в PHPshop функция сброса кеша?
В шаблоне дизайна вы производили изменения?
Кеширования нет.
в Шаблоне изменения производили. Меняли настройки по отображению наличия (показывать в шт или просто статус наличие и под заказ) в админке магазина.

Так же у нас была похожая проблема как-то давно. Помогла поддержка PHPshop. Они самостоятельно меняли файл на сервере у нас.
Вот хистори общения с техпорддержкой PHPshop
Дата: 2010-11-03 16:38:40
Имя: Алексей
E-mail: info@mirtn.ru
IP: 92.243.166.242
Менеджер: Default
Сообщение:
Добрый день!
Есть небольшой, но очень неприятный баг
Речь идет о загрузке прайса
Например. Я выгружаю прайс. Затем в нем правлю цены и наличие. Потом этот прайс заливаю. В итоге, цены меняются, а вот наличие - нет. При этом, в базе я уже вижу, что наличие изменилось на "0", но на сайте все равно стоит в наличии. До тех пор, пока я сам не зайду в базе в товар и руками 0 поменяю на 0.
Абсурд какой-то, но такой вот баг. И как таким образом править наличие в выгруженном файле...
Мы собираем в дальнейшем пользоваться отдельным анализатором прайсов, который автоматом будет править цены в csv файле и наличие, потом имортировать файл в формате PHPSHOP для заливки на сайт.
Таким образом у нас не получиться автоматически править "наличик".

URL сайта: mirtn.ru
Версия скрипта: Enterprise
Номер релиза: 3.2
Поддержка: Активная поддержка
Оператор: Default
Версия 1С: Default
Версия синхронизации 1С: Default
Доработки: Нет

Дата: 2010-11-03 18:31:47
Имя: Денис
Сообщение:
настройки - цены - у вас что выбрано при отстутствии товара на складе, скорее всего игнорировать, а нужно убирать с продаж.
Этот ответ Вам пригодился? ДА / НЕТ
Дата: 2010-11-03 19:51:52
Имя: Алексей
Сообщение:
У нас выбрано "Нет в наличии"
И все прекрасно работает, если наличие в ручную ставить в базе. То есть, выставил "0", Нажал "ОК".
Захожу на сайт, все правильно. Показано "нет в наличии", "Уведомить".
Не работает эта функция, если я выгружаю прайс, в нем ставлю в графе "склад" - "0", потом файл загружаю.
Вот при такой заливке прайса, в самой базе, в товаре количество ставится правильно "0", а на сайте не меняется.
Приходится все равно, через базу каждый товар ручками выставлить "0". Только так работает. Я не знаю как вам еще объяснить. Готов записать видео и выложить вам, чтобы понятно было, о чем речь идет

Дата: 2010-11-08 16:41:31
Имя: Владимир
Сообщение:
видео не надо, всё понятно..
скажите ваш доступ фтп


Дата: 2010-11-09 11:47:46
Имя: Денис
Сообщение:
Замените файлик 1cManager/result.php
Файлы:
result.zip

Этот ответ Вам пригодился? ДА / НЕТ
Дата: 2010-11-09 12:32:55
Имя: Алексей
Сообщение:
Файлик заменили - не помогло.
Ничего не изменилось.
Так же, после загрузки прайса, наличие в базе меняется, но на сайте - нет, до тех пор, пока самостоятельно каждую позиции в базе ручками не изменишь наличие

Дата: 2010-11-09 12:39:59
Имя: Алексей
Сообщение:
Сейчас работает только частично, а именно.
Если товар на сайте стоял под заказ "уведомить",
после замены в прайсе "0" на положительное число - на сайте правильно меняется статус и товар переводится в наличие.
А вот наоборот - не работает

Дата: 2010-11-09 16:20:51
Имя: Владимир
Сообщение:
пробуйте сейчас
Отмечен как полезный

Дата: 2010-11-09 16:36:14
Имя: Алексей
Сообщение:
Ура!!!
Спасибо! Теперь работает.
Честно говоря, даже не ожидал, что поможете ;)
Еще раз спасибо!
Аватара пользователя
TechAdmin
Администратор
Сообщения: 4286
Зарегистрирован: 27 авг 2008 14:30

Конфигурационный файл /phpshop/inc/config.ini включает в себя ряд дополнительных настроек скрипта, кеширование:
[cache] cache_mod="3"; # Тип хранения нет/база/файл/оптимизация (0/1/2/3)
time="1800"; # Время хранившегося кеша в секундах
file="phpshop/cache/_.cache"; # Размещение кеша
last_modified="true"; # Включить Last-Modified (true/false)
expires="100"; # Время хранения кеша страниц в минутах

Еще как вариант добавить обновление поля со значением даты модификации товара (поле datas):
Строку:

Код: Выделить всё

mysql_query("UPDATE ".$phpshop_products." SET price=".$parameter5.", enabled='1', items=100, name='".str_replace("'", '*' , $parameter4)."', category=".$parameter2.", uid='".$parameter3."', yml='1', p_enabled='1', items='".$parameter13."' WHERE id='".$parameter1."' limit 1");
заменить на:

Код: Выделить всё

mysql_query("UPDATE ".$phpshop_products." SET price=".$parameter5.", enabled='1', items=100, name='".str_replace("'", '*' , $parameter4)."', category=".$parameter2.", uid='".$parameter3."', yml='1', p_enabled='1', items='".$parameter13."', datas='".date("U")."' WHERE id='".$parameter1."' limit 1");
На стандартном шаблоне дизайна всё работает, поэтому более детальнее нужно разбираться с вашим модифицированным файлом шаблона, в котором прописана своя логика вывода статусов наличия.
С уважением, поддержка ElbuzGroup.
MirTN
Сообщения: 419
Зарегистрирован: 14 фев 2011 14:08

Попробовали, не работает.
Может вам дать доступ, к нам на фтп и посмотрите, что еще можно сделать?
Аватара пользователя
TechAdmin
Администратор
Сообщения: 4286
Зарегистрирован: 27 авг 2008 14:30

Вышлите на эл. почту параметры доступа и файл CSV, которым обновляете сайт, чуть позже попробуем разобраться.
С уважением, поддержка ElbuzGroup.
MirTN
Сообщения: 419
Зарегистрирован: 14 фев 2011 14:08

Выслал доступ на фтп и файлик на почту
Аватара пользователя
TechAdmin
Администратор
Сообщения: 4286
Зарегистрирован: 27 авг 2008 14:30

После долгих поисков причины, почему не обновляется статус товара при изменении количества товара на складе, обнаружилось, что необходимо обновление еще одного поля в базе данных сайта.
Отправили вам на эл. почту новый модуль для PHPShop.
С уважением, поддержка ElbuzGroup.
Ответить

Вернуться в «Интеграция E-Trade PriceList Importer»