-
Публікації
10 630 -
З нами
-
Відвідування
Тип публікації
Профілі
Форум
Маркетплейс
Статті
FAQ
Наші новини
Магазин
Блоги
module__dplus_manager
Повідомлення, опубліковані користувачем freelancer
-
-
посмотрите коэффициенты валют
- 1
-
Следовательно, новая переменная пуста и определить наличие товара таким образом невозможно.
не переменная, а индекс ассоциативного массива. значение не пусто. там верный код
-
очень интересноПоделюсь тем, что я делал для оптимизации (в дебрях форума есть diff на OC 1.4.9.x с этими изменениями):
...
-
504 Gateway Time-out - это ошибка сервера, а не клиента. И похоже, что сервер иногда бывает перегружен. В общем жалуйтесь хостеру, пусть разбирается что это за фигня.
такая фигня только в опере и не у всех
-
одним запросом нет. эти поля в разных таблицах
-
есть csv import pro
-
нужен пример файла. хотя бы на пару записей
-
в смысле при нажатии на категорию в меню осуществлялся переход на первый товар?Доброго времени суток!
Подскажите, пожалуйста, как сделать что бы при нажатии (показано на рис.1) на Maс высвечивалась сразу страничка как на рис.2 подскажите пожалуйста!
Заранее благодарен
-
во-первых, т.н. файл корзины не форматирован и не спрятан под спойлер. во-вторых, он не особо поможет.здесь файл корзины.
поможет адрес сайта
-
да это я diff сделал. номера строк кажется. строки где + добавить
-
*************** *** 14,19 **** --- 14,33 ---- public function getProductsByCategoryId($category_id, $sort = 'p.sort_order', $order = 'ASC', $start = 0, $limit = 20) { $sql = "SELECT *, pd.name AS name, p.image, m.name AS manufacturer, ss.name AS stock, (SELECT AVG(r.rating) FROM " . DB_PREFIX . "review r WHERE p.product_id = r.product_id GROUP BY r.product_id) AS rating FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN " . DB_PREFIX . "manufacturer m ON (p.manufacturer_id = m.manufacturer_id) LEFT JOIN " . DB_PREFIX . "stock_status ss ON (p.stock_status_id = ss.stock_status_id) LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (p.product_id = p2c.product_id) WHERE p.status = '1' AND p.date_available <= NOW() AND pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND ss.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p2c.category_id = '" . (int)$category_id . "'"; + + if ($sort=='p.price'){ + + if ($this->customer->isLogged()) { + $customer_group_id = $this->customer->getCustomerGroupId(); + } else { + $customer_group_id = $this->config->get('config_customer_group_id'); + } + + $sql = "SELECT *, pd.name AS name, p.image, m.name AS manufacturer, ss.name AS stock, (SELECT AVG(r.rating) FROM " . DB_PREFIX . "review r WHERE p.product_id = r.product_id GROUP BY r.product_id) AS rating, ". + "coalesce((SELECT price FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND customer_group_id = '" . (int)$customer_group_id . "' AND ((date_start = '0000-00-00' OR date_start < NOW()) AND (date_end = '0000-00-00' OR date_end > NOW())) ORDER BY priority ASC, price ASC LIMIT 1), p.price) as s_price ". + "FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN " . DB_PREFIX . "manufacturer m ON (p.manufacturer_id = m.manufacturer_id) LEFT JOIN " . DB_PREFIX . "stock_status ss ON (p.stock_status_id = ss.stock_status_id) LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (p.product_id = p2c.product_id) WHERE p.status = '1' AND p.date_available <= NOW() AND pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND ss.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p2c.category_id = '" . (int)$category_id . "'"; + $sort = 's_price'; + } $sort_data = array( 'pd.name', *************** *** 21,26 **** --- 35,41 ---- 'special', 'rating', 'p.price', + 's_price', 'p.model' );
-
у всех. у меня есть мысли, но решение будет работать чуть медленнее
-
разве я написал 777?Сейчас на system поставил права 777 и папки в ней тоже 777. Но ошибка осталась.
а на system/startup.php 644 ?
-
права для system 755?
-
элементарноДело в том что как я в поиске буду искать свою ошибку решение проблемы?
Could not load language
-
Спрашивает пользователь форума поддержки Вашего скрипта....Вы же ОС Team...или это только статус?Я вот например тоже не особо понял инструкцию...и наверное процентов 70 пользователей форума тоже....зачем отвечать грубостью?
DV0995 изначально задал вопрос в грубой форме от лица другого человека, на конкретное замечание ответил ещё большей грубостью.
PerrySS, если что-то не ясно - спросите прямо. если пользователь в OC Team это не значит, что он обязан помогать всем и каждому. большинству или хотя бы части и не обязан а по своему усмотрению.
Sammy95 потратил своё время, что бы исправить баг разработчиков OpenCart за что ему больше спасибо. надеюсь эти глупые нападки не повлияют на его желание и дальше помогать community ocStore.
-
Вот только что проверял работает такой вот вариант
Вот в этом месте в catalog/model/catalog/product.php вставляешь
вот это
$sql .= " ORDER BY p.price, pd.name";
if (isset($data['sort']) && in_array($data['sort'], $sort_data)) { if ($data['sort'] == 'pd.name' || $data['sort'] == 'p.model') { $sql .= " ORDER BY LCASE(" . $data['sort'] . ")"; } else { $sql .= " ORDER BY " . $data['sort']; } } else { $sql .= " ORDER BY p.sort_order"; }
Получается вот так
if (isset($data['sort']) && in_array($data['sort'], $sort_data)) { if ($data['sort'] == 'pd.name' || $data['sort'] == 'p.model') { $sql .= " ORDER BY LCASE(" . $data['sort'] . ")"; } else { $sql .= " ORDER BY " . $data['sort']; } } else { $sql .= " ORDER BY p.price, pd.name"; }
И сортировка в работе!
твой 3й бредовый ответ на моей памяти..
ты специально даешь советы которые не работают??
во-первых, в 3м посте я именно это и советовал, но это не работает потому как вот это условие выполняется
if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {
и вот сюда не заходит} else { $sql .= " ORDER BY p.price, pd.name"; }
во-вторых, правильный рабочий ответ в сообщении #7, но у Evgeny стоит vqmod , который конфликтует с моим решением
-
или я неправильно понимаю фунцию logged.
$logged здесь переменная.
if(! $logged){ // не авторизован }
так везде принято и оформление и постановка вопроса, но видимо очень не многие на это способны =)А нормальное оформление - ну тут же так принято, разве нет? ;)
- 1
-
+1bochicca, спасибо за то, что потратили время на нормальное оформление вопроса.
всегда приятно помогать таким юзерам.
хороших вопросов мало
- 1
-
да, структура таблиц в дампе не помешает =)Встроенный бекап в Опенкарт сохраняет только данные, без структуры таблиц.
-
Еще есть варианты?
в том же файле блок с 128 строки по 141 заменить следующим
$sortOrder= " ASC "; if (isset($data['order']) && ($data['order'] == 'DESC')) { $sortOrder= " DESC "; } $sql .= " ORDER BY p.price" . $sortOrder . ", LCASE(pd.name)";
но так же в tpl файлах нужно убрать лишние значения "Сортировать по:" -
значит нужно накатить все скрипты обновления базы до той версии, которая в бэкапе
в частности скрипт
ALTER TABLE `address` ADD COLUMN `geo_id` ...
-
кривой не верное слово. если вам не нужно это кол-во, то можно и без него
-
это значит что версии таблиц разные. в бэкапе есть поле geo_id, которое, кстати, нужно модулю Simple(если я не ошибаюсь), а в базе нет
Нужен программист на ОК
в Налаштування та дрібна робота по вже існуючому сайту
Опубліковано:
что есть OK ?