Флуд на тему PrestaShop

Вечерком попробую, спасибо, тут проскакивала темка, полистаю
 
Кто-нибудь знает, как можно организивать таблицу размеров под каждую категорию?
т.е. врезание таблицы и кучу ссылок не вариант :(
 
в advancedsearch4 есть пункт - не показывать товары с 0 остатком, то есть, они в каталоге есть, а фильтр их не будет учитывать при поиске
Да, така опция есть.
Но, когда клиент заходит в категорию, и не применяет фильтрацию, товары с нулевыми остатками все равно отображаются.
Эта опция в advancedsearch4 убирает нулевые остатки только в результатах фильтрации.
 
Чтобы добавить состояние товара "Под заказ" нужно вносить кучу изменений в системные файлы, а может есть готовое дополнение?
 
Да, така опция есть.
Но, когда клиент заходит в категорию, и не применяет фильтрацию, товары с нулевыми остатками все равно отображаются.
Эта опция в advancedsearch4 убирает нулевые остатки только в результатах фильтрации.
ну да
 
HI, Before it was excellent, someone is looking to kill the forum ?
 
можно ли как-то товары недоступные к продаже опустить в конец списка?
!! при естественной сортировке по цене


Добрый! В листинге (списке товаров внутри категории) нужную вам сортировку можно выставить в настройках: "Настройки" - "Товары" ("Настройки товаров") - "Нумерация страниц" - "Сортировать товары" - "По количеству товара"... А для сортировки в поиске, как верно замечено выше, можно использовать модуль "Advancedsearch 4"
Сортировка через настройки справедлива для Prestashop версий : 1.6.1.2 - 1.7.4.2
Модуль "Advancedsearch 4" версии v4.12.2 - прекрасно работает до версии PS 1.7.4.2 (включительно) - проверено

В PS 1.4 нужно добавить правило сортировки "p.`quantity` DESC," (сортировка по количеству - отсутствующий товар в конце) или "p.`id_product` DESC," (сортировка по новизне - новый товар всегда вверху)
в файл classes/category.php

Находим правило сортировки:
___________________________________
if ($random === true)
{
$sql .= ' ORDER BY RAND()';
$sql .= ' LIMIT 0, '.intval($randomNumberProducts);
}
else
{
$sql .= ' ORDER BY '.(isset($orderByPrefix) ? $orderByPrefix.'.' : '').'`'.pSQL($orderBy).'` '.pSQL($orderWay).'
LIMIT '.((intval($p) - 1) * intval($n)).','.intval($n);
}
_____________________________________

И меняем НА:
_____________________________________
if ($random === true)
{
$sql .= ' ORDER BY RAND()';
$sql .= ' LIMIT 0, '.intval($randomNumberProducts);
}
else
{
$sql .= ' ORDER BY p.`quantity` DESC,'.(isset($orderByPrefix) ? $orderByPrefix.'.' : '').'`'.pSQL($orderBy).'` '.pSQL($orderWay).'
LIMIT '.((intval($p) - 1) * intval($n)).','.intval($n);
}
______________________________________
 
Чтобы добавить состояние товара "Под заказ" нужно вносить кучу изменений в системные файлы, а может есть готовое дополнение?


Добрый, Если вам необходимо решение для Предзаказа товара с нулевым остатком на складе, то это можно сделать через Настройки:

1) "Настройки" - "Настройки товаров" - "Запасы товаров" - "Разрешить заказ товаров с нулевым остатком на складе"
2) "Настройки" - "Настройки товаров" - "Запасы товаров" - "Метка товаров, отсутствующих в продаже, которые можно заказывать" - указываем текст "Доступен для Предзаказа" - это для PS 1.7 ....
Если у вас PS 1.6.*, то в файлах шаблона .tpl вручную изменим текст с "Ожидаем" ("Нет в наличии") на "Доступен для Предзаказа"

Если необходимо решение для Предзаказа товара, который имеется на складе, то для этого можно использовать модуль "PreOrder" (Предзаказ) - в настройках вы сможете выставить необходимые условия для оформления заказа (сумма предоплаты, частичной оплаты, срок поставки)
 
Есть
некий_файл.php
Из-за кеширования?? изменения в нём не вступают в силу, приходится перегружать HTTPD
Как сделать, чтобы он не кешировался?
Из такого:
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT");
Ничего не помогает, хотя бы понять как загуглить)) а дальше разобралась бы по старинке.
 
Есть
некий_файл.php
Из-за кеширования?? изменения в нём не вступают в силу, приходится перегружать HTTPD
Как сделать, чтобы он не кешировался?
Из такого:
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT");
Ничего не помогает, хотя бы понять как загуглить)) а дальше разобралась бы по старинке.

Добрый! Такие HTTP-заголовки, как "Expires" (как долго контент трактуется как свежий) и "Last-Modified" (изменен ли контент со времени его последнего просмотра) довольно часто игнорируются многими нынешними версиями браузеров.
А "Pragma" давно уже "не работает", в силу того, что создавалась для HTTP/1.0 и считается достаточно "древней".
В вашем случае используйте заголовок "Cache-Control" в конструкции:
____________
header ("Cache-Control: no-cache, no-store, must-revalidate");
____________
no-cache - принуждает кэш отправлять запрос на сервер каждый раз для валидации, прежде чем выдать кэшированную копию (однако неоднократно замечено, что может и игнорироваться),
в то время как no-store - указывает кэшу не сохранять копию контента, ни при каких условиях.
 
Назад
Сверху