Перейти к содержанию
Форум поддержки пользователей VamShop

"Наличие товара" - доработка. Мож кому пригодится.


Рекомендуемые сообщения

Мож кому будет полезно, доработка "Наличие товара" на основе версии 1.47.

Назначение: можно выводить наличие товара и скрывать кнопку корзина (задается в админке):

- в продаже

- нет наскладе

- снят с производства и т.д.

Как работает:

1. на страницах списка товаров и на странице описания товара можно вывести вышеуказанные значения (см.: http://technoport.kiev.ua/index.php?cat=1)

на некоторые статусы  "Наличие товара" можно запретить вывод корзины.

2. В админке: можно заводить разные "Наличие товара", у товара выставляется на странице редактирования товара во вкладке "Цены"

3. Настроить вывод значений "Наличие товара" на статусы товара вкл./выкл. Логика следующая:

если товар включен и значение "Наличие товара" неуказано то выводится значение "в продаже" если иное неуказано.

если товар выключен и значение "Наличие товара" неуказано то выводится значение "снят с производства" если иное неуказано.

Вы можете через шаблон сделать свои комбинации, задается через id в шаблоне.

Что недоделано:

1. запрет вывода Корзины по статусам  "Наличие товара" нужно указывать напрямую через базу, через интерфейс нереализовано.

2. через шаблон указывается вывод поумолчанию на статус товара вкл./выкл, а не через админку.

3. в админке на странице добавления значений "Наличие товара" неподписаны названия таблицы и т.д.

Ссылка на сообщение
Поделиться на другие сайты
  • 1 month later...

Вот именно то что мне нужно. Не могли бы вы сделать типа ридми, куда какой код вставлять, а то у меня в файлах всех этих столько уже всего изменено.. Напишите пожалуйста какой код куда вставлять. и дамп с таблицами. Заранее спасибо!

Ссылка на сообщение
Поделиться на другие сайты

Возьмите какую-нибудь программу для сравнения файлов, например Win Merge и сравнивайте оригинальные файлы с файлами их модуля, очень наглядно всё видно где и что менялось.

Ссылка на сообщение
Поделиться на другие сайты

Простите, а в БД поле products_status случайно не отвечает за наличие товара? Может можно использовать это для вывода строчки - "Наличие на складе: "??

Ссылка на сообщение
Поделиться на другие сайты

Можно и его использовать, в шаблоне т.е. прописать условие:

если products_status == '1' то в наличии

По-разному можно делать.

Ссылка на сообщение
Поделиться на другие сайты

прямо в TPL прописать условие, на смарти? или в PHP где то? И products_status может принимать только 2 значения или более? Я думаю отсутствие такой "фишки" у VamShop серьёзный и нверно единственный недостаток, который надо быстрее исправить

Ссылка на сообщение
Поделиться на другие сайты

Изменения в базе

поле products_status INT( 1 ) в таблицу  admin_access 

ALTER TABLE `admin_access` ADD `products_status` INT( 1 ) NOT NULL DEFAULT '1' AFTER `orders_status` 
поле products_statuses_id  INT( 1 )  в таблицу  products 
ALTER TABLE `products` ADD `products_statuses_id` INT( 1 ) NOT NULL DEFAULT '0' AFTER `products_status`
и собственно сама таблица
--
-- Структура таблицы `products_status`
--

CREATE TABLE IF NOT EXISTS `products_status` (
  `products_status_id` int(8) NOT NULL auto_increment,
  `language_id` tinyint(1) NOT NULL default '0',
  `products_status_name` varchar(100) NOT NULL default '',
  `blocked` tinyint(1) NOT NULL default '0',
  PRIMARY KEY  (`products_status_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;

--
-- Дамп данных таблицы `products_status`
--

INSERT INTO `products_status` (`products_status_id`, `language_id`, `products_status_name`, `blocked`) VALUES
(1, 1, 'нет в наличии', 1),
(2, 1, 'под заказ', 0),
(3, 1, 'в продаже', 0),
(4, 1, 'Снят с производства', 1);
[/code]

Ссылка на сообщение
Поделиться на другие сайты

Hippy

Я ж не знаю где именно тебе нужно выводить и что.

Ты ж скажи подробне где именно и что ты хочешь вывести.

Ссылка на сообщение
Поделиться на другие сайты

Ну как в других магазинах: под названием товара например написано - В наличии, или Нет в наличии. И чтобы это выводилось и на карточке товара и в списке. Еще такой вопрос: если products_status == 0, то товар не выводиться, правильно я понимаю?

Ссылка на сообщение
Поделиться на другие сайты

Если в карточке товара, то просто в /templates/шаблон/module/product_info/product_info_v1.html вставляй условие:


{if $PRODUCTS_STATUS == '1'}
В наличии
{/if}
[/code]

Не понятно конечно, зачем это нужно.

Ведь если статус 0, т.е. товар выключен, т.е. он и так не видел посетителю в магазине.

Ссылка на сообщение
Поделиться на другие сайты

  Цитата

Изменения в базе

поле products_status INT( 1 ) в таблицу   admin_access 

ALTER TABLE `admin_access` ADD `products_status` INT( 1 ) NOT NULL DEFAULT '1' AFTER `orders_status` 
поле products_statuses_id  INT( 1 )  в таблицу  products 
ALTER TABLE `products` ADD `products_statuses_id` INT( 1 ) NOT NULL DEFAULT '0' AFTER `products_status`
и собственно сама таблица
--
-- Структура таблицы `products_status`
--

CREATE TABLE IF NOT EXISTS `products_status` (
  `products_status_id` int(8) NOT NULL auto_increment,
  `language_id` tinyint(1) NOT NULL default '0',
  `products_status_name` varchar(100) NOT NULL default '',
  `blocked` tinyint(1) NOT NULL default '0',
  PRIMARY KEY  (`products_status_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;

--
-- Дамп данных таблицы `products_status`
--

INSERT INTO `products_status` (`products_status_id`, `language_id`, `products_status_name`, `blocked`) VALUES
(1, 1, 'нет в наличии', 1),
(2, 1, 'под заказ', 0),
(3, 1, 'в продаже', 0),
(4, 1, 'Снят с производства', 1);
[/code]

Попробовал ваш скрипт и ничего не получилось.. какие то ошибки... востановил файлы из беапа.. а БД теперь не знаю как востановить.. При попытке отредактировать товар пишет: Warning: vam_db_error(/lang/russian/russian_db_error.php) [function.vam-db-error]: failed to open stream: No such file or directory in /www/ironshop/www/htdocs/inc/vam_db_error.inc.php on line 26

Warning: vam_db_error(/lang/russian/russian_db_error.php) [function.vam-db-error]: failed to open stream: No such file or directory in /www/ironshop/www/htdocs/inc/vam_db_error.inc.php on line 26

Warning: vam_db_error() [function.include]: Failed opening '/lang/russian/russian_db_error.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /www/ironshop/www/htdocs/inc/vam_db_error.inc.php on line 26

DB_ERR_MSG

Ссылка на сообщение
Поделиться на другие сайты

Наверное нужно править index.php или /includes/modules/default.php

Из sql запроса $listing_sql убривать условие products_status = '1'

Что б выводились все товары, в том числе и выключенные.

Ссылка на сообщение
Поделиться на другие сайты

Наверное непрвильно SQL код добавили.

Вот как узнать, что именно за ошибка в sql - http://vamshop.ru/node/37

Ссылка на сообщение
Поделиться на другие сайты

Я ж по-моему сверху написал.

Когда russian_db_error - это значит, что что-то не так с базой данных.

Если такая ошибка в админке, нужно создать mysql_db_error.log файл в папке admin

Поставить на него 777 права доступа.

Затем зайти ещё раз на страницу с ошибкой и посмотреть в файл /admin/mysql_db_error.log

Там будет текст ошибки, что не нарвится скрипту.

Вот если скажите текст ошибки, тогда смогу что-либо конкртеное посоветовать, а наугад сложно сказать.

Ссылка на сообщение
Поделиться на другие сайты

27/09/2008 12:09:12 | 2005 - Unknown MySQL server host 'db.ironshop.mass.hc.ru' (2) | connect | /admin/categories.php?cPath=22&pID=63&action=update_product

27/09/2008 12:09:22 | 2005 - Unknown MySQL server host 'db.ironshop.mass.hc.ru' (2) | connect | /admin/categories.php?cPath=22&pID=63&action=update_product

27/09/2008 12:09:01 | 2005 - Unknown MySQL server host 'db.ironshop.mass.hc.ru' (2) | connect | /admin/categories.php?cPath=22&pID=63&action=update_product

27/09/2008 12:09:09 | 2005 - Unknown MySQL server host 'db.ironshop.mass.hc.ru' (2) | connect | /admin/shipping_status.php

27/09/2008 12:09:10 | 2005 - Unknown MySQL server host 'db.ironshop.mass.hc.ru' (2) | connect | /admin/categories.php

27/09/2008 15:09:56 | 2005 - Unknown MySQL server host 'db.ironshop.mass.hc.ru' (2) | connect | /admin/products_attributes.php

27/09/2008 15:09:57 | 2005 - Unknown MySQL server host 'db.ironshop.mass.hc.ru' (2) | connect | /admin/categories.php

27/09/2008 15:09:59 | 2005 - Unknown MySQL server host 'db.ironshop.mass.hc.ru' (2) | connect | /admin/categories.php

27/09/2008 20:09:22 | 2005 - Unknown MySQL server host 'db.ironshop.mass.hc.ru' (2) | connect | /admin/categories.php?cPath=20&pID=37&action=update_product

27/09/2008 20:09:08 | 2005 - Unknown MySQL server host 'db.ironshop.mass.hc.ru' (2) | connect | /admin/categories.php?cPath=20&pID=37&action=update_product

11/11/2008 14:11:48 | 1146 - Table 'wwwironshopru.TABLE_PRODUCTS_STATUS' doesn't exist | select products_status_id, products_status_name from TABLE_PRODUCTS_STATUS order by products_status_name | /admin/categories.php?cPath=37_18&pID=5&action=new_product

11/11/2008 14:11:53 | 1146 - Table 'wwwironshopru.TABLE_PRODUCTS_STATUS' doesn't exist | select products_status_id, products_status_name from TABLE_PRODUCTS_STATUS order by products_status_name | /admin/categories.php?cPath=37_19&pID=22&action=new_product

11/11/2008 16:11:18 | 1146 - Table 'wwwironshopru.TABLE_PRODUCTS_STATUS' doesn't exist | select products_status_id, products_status_name from TABLE_PRODUCTS_STATUS order by products_status_name | /admin/categories.php?cPath=37_19&pID=9&action=new_product

11/11/2008 16:11:12 | 1146 - Table 'wwwironshopru.TABLE_PRODUCTS_STATUS' doesn't exist | select products_status_id, products_status_name from TABLE_PRODUCTS_STATUS order by products_status_name | /admin/categories.php?cPath=37_19&pID=9&action=new_product

Ссылка на сообщение
Поделиться на другие сайты

Теперь какая ошибка?

Вы б для начала что-то одно сделали, либо совет про products_status, либо это.

Зачем хвататься за всё сразу.

Ссылка на сообщение
Поделиться на другие сайты

Ошибка та же самая:

27/09/2008 12:09:12 | 2005 - Unknown MySQL server host 'db.ironshop.mass.hc.ru' (2) | connect | /admin/categories.php?cPath=22&pID=63&action=update_product
27/09/2008 12:09:22 | 2005 - Unknown MySQL server host 'db.ironshop.mass.hc.ru' (2) | connect | /admin/categories.php?cPath=22&pID=63&action=update_product
27/09/2008 12:09:01 | 2005 - Unknown MySQL server host 'db.ironshop.mass.hc.ru' (2) | connect | /admin/categories.php?cPath=22&pID=63&action=update_product
27/09/2008 12:09:09 | 2005 - Unknown MySQL server host 'db.ironshop.mass.hc.ru' (2) | connect | /admin/shipping_status.php
27/09/2008 12:09:10 | 2005 - Unknown MySQL server host 'db.ironshop.mass.hc.ru' (2) | connect | /admin/categories.php
27/09/2008 15:09:56 | 2005 - Unknown MySQL server host 'db.ironshop.mass.hc.ru' (2) | connect | /admin/products_attributes.php
27/09/2008 15:09:57 | 2005 - Unknown MySQL server host 'db.ironshop.mass.hc.ru' (2) | connect | /admin/categories.php
27/09/2008 15:09:59 | 2005 - Unknown MySQL server host 'db.ironshop.mass.hc.ru' (2) | connect | /admin/categories.php
27/09/2008 20:09:22 | 2005 - Unknown MySQL server host 'db.ironshop.mass.hc.ru' (2) | connect | /admin/categories.php?cPath=20&pID=37&action=update_product
27/09/2008 20:09:08 | 2005 - Unknown MySQL server host 'db.ironshop.mass.hc.ru' (2) | connect | /admin/categories.php?cPath=20&pID=37&action=update_product
11/11/2008 14:11:48 | 1146 - Table 'wwwironshopru.TABLE_PRODUCTS_STATUS' doesn't exist | select products_status_id, products_status_name from TABLE_PRODUCTS_STATUS order by products_status_name | /admin/categories.php?cPath=37_18&pID=5&action=new_product
11/11/2008 14:11:53 | 1146 - Table 'wwwironshopru.TABLE_PRODUCTS_STATUS' doesn't exist | select products_status_id, products_status_name from TABLE_PRODUCTS_STATUS order by products_status_name | /admin/categories.php?cPath=37_19&pID=22&action=new_product
11/11/2008 16:11:18 | 1146 - Table 'wwwironshopru.TABLE_PRODUCTS_STATUS' doesn't exist | select products_status_id, products_status_name from TABLE_PRODUCTS_STATUS order by products_status_name | /admin/categories.php?cPath=37_19&pID=9&action=new_product
11/11/2008 16:11:12 | 1146 - Table 'wwwironshopru.TABLE_PRODUCTS_STATUS' doesn't exist | select products_status_id, products_status_name from TABLE_PRODUCTS_STATUS order by products_status_name | /admin/categories.php?cPath=37_19&pID=9&action=new_product
11/11/2008 18:11:17 | 1146 - Table 'wwwironshopru.TABLE_PRODUCTS_STATUS' doesn't exist | select products_status_id, products_status_name from TABLE_PRODUCTS_STATUS order by products_status_name | /admin/categories.php?cPath=37_19&pID=9&action=new_product
11/11/2008 18:11:18 | 1146 - Table 'wwwironshopru.products_status' doesn't exist | select products_status_id, products_status_name from products_status order by products_status_name | /admin/categories.php?cPath=37_19&pID=9&action=new_product
11/11/2008 18:11:53 | 1146 - Table 'wwwironshopru.products_status' doesn't exist | select products_status_id, products_status_name from products_status order by products_status_name | /admin/categories.php?cPath=37_19&pID=9&action=new_product
11/11/2008 18:11:18 | 1146 - Table 'wwwironshopru.products_status' doesn't exist | select products_status_id, products_status_name from products_status order by products_status_name | /admin/categories.php?cPath=36_44&pID=270&action=new_product
11/11/2008 18:11:40 | 1146 - Table 'wwwironshopru.products_status' doesn't exist | select products_status_id, products_status_name from products_status order by products_status_name | /admin/categories.php?cPath=36_44&pID=270&action=new_product
[/code]

Вызвано это как я думаю изменением полей в БД, при установке выше выложенного скрипта. А не могли бы вы скинуть дамп БД этих таблиц, как они по умолчанию?

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...