Ошибки в 2.3.5 (Исправить в 2.3.6)

Правила раздела: faq.php?mode=okay
Модератор: Модераторы

makki M
makki M
Репутация: 189
Сообщения: 620
Зарегистрирован: 12.08.2016
С нами: 4 года 8 месяцев
Откуда: Киев
Сайт

Сообщение #1 makki » 02.04.2020, 19:51

Ошибка №1
В админке в заказе не подтягивается Ед. изм.товаров
Исправьте пожалуйста в следующем обновлении 2-й версии

В файле backend/design/html/order.tpl
1) в строке 188 вместо

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

{$purchase->amount} {if $purchase->units}{$purchase->units|escape}{else}{$settings->units|escape}{/if}</span>

должно быть

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

{$purchase->amount} {if $purchase->variant->units}{$purchase->variant->units|escape}{else}{$settings->units|escape}{/if}</span>


2) в строке 220 вместо

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

{if $purchase->units}{$purchase->units|escape}{else}{$settings->units|escape}{/if}</span>

должно быть

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

{if $purchase->variant->units}{$purchase->variant->units|escape}{else}{$settings->units|escape}{/if}</span>
Cоздание и расширение функционала интернет-магазина на платформе OkayCMS 2 (с 3-й и 4-й версией не работаю)

makki M
makki M
Репутация: 189
Сообщения: 620
Зарегистрирован: 12.08.2016
С нами: 4 года 8 месяцев
Откуда: Киев
Сайт

Сообщение #2 makki » 21.04.2020, 18:08

Ошибка №2
В хлебных крошках при переключенном языке, в конце ссылки на Главную стоит лишний знак /
например demookay.com/en/ вместо demookay.com/en

Добавлено спустя 16 часов 18 минут:
Ошибка №3
Не правильный hreflang на всех страницах списка товаров (каталога товаров) с выбранным в фильтре брендом, что вызывает вопросы у google

Ошибка из-за того, что в функции filter_chpu_sort_brands идет обращение к переменной $this->category_brands, которая определяется позже. Нужно перенести в __construct код

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

foreach ($this->brands->get_brands(array('category_id' => $this->category->children, 'visible' => 1, 'visible_brand' => 1)) as $b) {
                    $this->category_brands[$b->id] = $b;
                }

В 3-й версии исправили, но в 2-й оставили.
Cоздание и расширение функционала интернет-магазина на платформе OkayCMS 2 (с 3-й и 4-й версией не работаю)

виктор
виктор
Репутация: 4
Сообщения: 72
Зарегистрирован: 18.11.2017
С нами: 3 года 4 месяца

Сообщение #3 виктор » 24.04.2020, 03:49

makki писал(а):В админке в заказе не подтягивается Ед. изм.товаров
Исправьте пожалуйста в следующем обновлении 2-й версии
в третьей версии таже фигня

makki M
makki M
Репутация: 189
Сообщения: 620
Зарегистрирован: 12.08.2016
С нами: 4 года 8 месяцев
Откуда: Киев
Сайт

Сообщение #4 makki » 22.05.2020, 12:04

Ошибка №4
Переименуйте таблицу ok_options_aliases_values в ok_features_values_aliases_values как в 3-й версии. ok_options насколько я помню убрали еще 2.3.0

Добавлено спустя 1 час 18 минут:
Ошибка №5
В разделе Синонимы свойств, забыли вывести в шаблон сохраненные значения синонимов свойства после нажатия кнопки Применить, что приводит при повторном сохранении к дублям в базе данных и другим последствиям. Интересно, что до сих пор никто не сообщил о такой грубой ошибке.
Решение ошибки:
в файле backend/core/FeaturesAliasesAdmin.php после

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

$features_aliases = array();
                    foreach ($this->features_aliases->get_features_aliases() as $f) {
                        $features_aliases[$f->id] = $f;
                    }

нужно добавить следующий код

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

foreach ($this->features_aliases->get_feature_aliases_values(array('feature_id'=>$feature->id)) as $fv) {
                        $features_aliases[$fv->feature_alias_id]->value = $fv;
                    }
Cоздание и расширение функционала интернет-магазина на платформе OkayCMS 2 (с 3-й и 4-й версией не работаю)

makki M
makki M
Репутация: 189
Сообщения: 620
Зарегистрирован: 12.08.2016
С нами: 4 года 8 месяцев
Откуда: Киев
Сайт

Сообщение #5 makki » 02.06.2020, 10:00

Ошибка №6
В файле /backend/core/DeliveryAdmin.php строка 11 опечатка в слове integer

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

$delivery->id               = $this->request->post('id', 'intgeger');
Cоздание и расширение функционала интернет-магазина на платформе OkayCMS 2 (с 3-й и 4-й версией не работаю)

trainracing M
Аватара
trainracing M
Возраст: 28
Репутация: 12
Сообщения: 118
Зарегистрирован: 07.10.2016
С нами: 4 года 6 месяцев
Сайт

Сообщение #6 trainracing » 02.06.2020, 20:23

Еще не работает "другие фильтры" other filters по товарам со скидкой, рекоменд, в категории на сайте

makki M
makki M
Репутация: 189
Сообщения: 620
Зарегистрирован: 12.08.2016
С нами: 4 года 8 месяцев
Откуда: Киев
Сайт

Сообщение #7 makki » 04.06.2020, 15:39

Исправьте пожалуйста в будущем обновлении 2-й версии стили autocomplete в файле design/okay_shop/css/libs.css, чтобы была полоса прокрутки, а то сейчас выпадает простыня на весь экран.

Например так

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

/* Autocomplete CSS */
.autocomplete-suggestions {
    border: 1px solid #e0e0e0;
    background: #fff;
    overflow: auto;
}
.autocomplete-suggestion {
    overflow: hidden;
    display: flex;
    align-items: center;
    cursor: pointer;
    border-bottom: 1px solid #e8e8e1;
}
.autocomplete-selected {
    background: #f0f0f0;
}
.autocomplete-suggestions strong {
    font-weight: normal;
    color: #ffb400;
}
.autocomplete-suggestion div {
    width: 45px !important;
    text-align: center;
}
.autocomplete-suggestion a {
    padding: 5px 10px;
    text-decoration: none;
}
.autocomplete-suggestion span {
    white-space: nowrap;
    padding: 5px 10px;
    margin-left: auto;
}
Cоздание и расширение функционала интернет-магазина на платформе OkayCMS 2 (с 3-й и 4-й версией не работаю)

sevswat
sevswat
Репутация: 0
Сообщения: 3
Зарегистрирован: 21.02.2018
С нами: 3 года 1 месяц

Сообщение #8 sevswat » 11.06.2020, 10:24

trainracing писал(а):Еще не работает "другие фильтры" other filters по товарам со скидкой, рекоменд, в категории на сайте
и еще не работают бренды в фильтре так же не выводятся

makki M
makki M
Репутация: 189
Сообщения: 620
Зарегистрирован: 12.08.2016
С нами: 4 года 8 месяцев
Откуда: Киев
Сайт

Сообщение #9 makki » 12.06.2020, 08:53

trainracing писал(а):Еще не работает "другие фильтры" other filters по товарам со скидкой, рекоменд, в категории на сайте
Это будет Ошибка 7
Лечится так:
В файле view/ProductsView.php вместо строки (строка номер 720)

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

if (!empty($this->page->url) && !in_array($this->page->url, array('all-products', 'discounted', 'bestsellers'))) {

написать

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

if (empty($this->page->url) || (!empty($this->page->url) && !in_array($this->page->url, array('all-products', 'discounted', 'bestsellers')))) {



Ошибка 8
Файл design/okay_shop/html/cart_deliveries.tpl строка 13 в условии

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

{if $delivery_id==$delivery->id || $delivery@first} checked{/if}

переменная $delivery_id не определена. Наверное достаточно так

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

{if $delivery@first} checked{/if}
Cоздание и расширение функционала интернет-магазина на платформе OkayCMS 2 (с 3-й и 4-й версией не работаю)

makki M
makki M
Репутация: 189
Сообщения: 620
Зарегистрирован: 12.08.2016
С нами: 4 года 8 месяцев
Откуда: Киев
Сайт

Сообщение #10 makki » 02.07.2020, 14:01

Ошибка 9 актуально и для OkayCMS 3
Ошибка возникает при изменении варианта в оформленном заказе со статусом, который списывает товар со склада, например Принят.
Допустим у нас в заказе 5 шт товара и у него есть вариант-2, которого на складе 3 шт. Если мы поменяем в заказе вариант товара на вариант-2 и оставим количество 5 шт, после списания у варинта-2 количество на складе -2 шт (минус 2 шт).
Screenshot 2020-07-02 at 16.54.52.png
Cоздание и расширение функционала интернет-магазина на платформе OkayCMS 2 (с 3-й и 4-й версией не работаю)

makki M
makki M
Репутация: 189
Сообщения: 620
Зарегистрирован: 12.08.2016
С нами: 4 года 8 месяцев
Откуда: Киев
Сайт

Сообщение #11 makki » 03.07.2020, 11:49

Исправьте пожалуйста название строчки меню в админке Импорт, Лог Импорта, Экспорт на Импорт товаров, Лог Импорта товаров и Экспорт товаров соответственно. Ведь это не единственный возможный импорт и экспорт. Надоело в доработках каждый раз менять, и пользователям понятнее такое название.

Добавлено спустя 3 часа 4 минуты:
Ошибка 10 актуально и для OkayCMS 3
На странице Импорт в админке на мобильных разрешениях, блок Загрузка файла полностью пропадает.
Забыли заключить блок в

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

<div class="toggle_body_wrap on fn_card">... </div>

И почему-то в форме страницы добавлен стиль hidden-xs-down
Cоздание и расширение функционала интернет-магазина на платформе OkayCMS 2 (с 3-й и 4-й версией не работаю)

makki M
makki M
Репутация: 189
Сообщения: 620
Зарегистрирован: 12.08.2016
С нами: 4 года 8 месяцев
Откуда: Киев
Сайт

Сообщение #12 makki » 10.12.2020, 13:11

Ошибка 11
Ошибка в запросе на странице бренда при сортировке по названию. Соответсвенно товары не отображаются
Лечится так. В файле api/Products.php строка 138 вместо

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

$order = 'p.name ASC';

пишем

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

$order = $px.'.name ASC';


и строка 141 вместо

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

$order = 'p.name DESC';

пишем

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

$order = $px.'.name DESC';
Cоздание и расширение функционала интернет-магазина на платформе OkayCMS 2 (с 3-й и 4-й версией не работаю)

makki M
makki M
Репутация: 189
Сообщения: 620
Зарегистрирован: 12.08.2016
С нами: 4 года 8 месяцев
Откуда: Киев
Сайт

Сообщение #13 makki » 17.12.2020, 12:01

Ошибка 12
Серьезные 2 ошибки в SQL запросах в файле api/Features.php. Могу только предположить к каким проблемам со свойствами приводят эти ошибки, особенно при импорте товаров.
в строке 199 вместо

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

$this->db->query("SELECT `pv`.`product_id`

должно быть

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

$this->db->query("SELECT `pf`.`product_id`


в строке 246 вместо

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

$this->db->query("SELECT `pv`.`product_id`

должно быть

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

$this->db->query("SELECT `pf`.`product_id`


Ждем update 2-й версии!
Cоздание и расширение функционала интернет-магазина на платформе OkayCMS 2 (с 3-й и 4-й версией не работаю)

makki M
makki M
Репутация: 189
Сообщения: 620
Зарегистрирован: 12.08.2016
С нами: 4 года 8 месяцев
Откуда: Киев
Сайт

Сообщение #14 makki » 26.01.2021, 12:41

Ошибка 13
При дублировании товара, получаем ошибку в логах

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

Error (1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ', last_modify=NOW() WHERE id in ('118') LIMIT 1' at line 1
UPDATE ok_products SET , last_modify=NOW() WHERE id in ('118') LIMIT 1


Исправляется в файле api/Products.php в функции update_product переносом строки

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

$result = $this->languages->get_description($product, 'product');

в начало тела условия ниже

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

if($this->db->query($query)) {

чтобы получилось так

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

public function update_product($id, $product) {
        $product = (object)$product;

        $query = $this->db->placehold("UPDATE __products SET ?%, last_modify=NOW() WHERE id in (?@) LIMIT ?", $product, (array)$id, count((array)$id));
        if($this->db->query($query)) {
            $result = $this->languages->get_description($product, 'product');
            if(!empty($result->description)) {
                $this->languages->action_description($id, $result->description, 'product', $this->languages->lang_id());
            }.......
Cоздание и расширение функционала интернет-магазина на платформе OkayCMS 2 (с 3-й и 4-й версией не работаю)

OkayCMS M
Администратор
Аватара
OkayCMS M
Администратор
Репутация: 205
Сообщения: 1449
Зарегистрирован: 12.11.2015
С нами: 5 лет 5 месяцев
Сайт Skype

Сообщение #15 OkayCMS » 26.01.2021, 21:33

Спасибо за ваш пулреквест. Планируем сделать 2.3.6 с учётом ваших пулреквестов в следующем месяце.


Название раздела: Баг-репорт OkayCMS (Сообщения об ошибках)
Правила раздела: faq.php?mode=okay

Быстрый ответ


Введите код в точности так, как вы его видите. Регистр символов не имеет значения.
Код подтверждения

   

Вернуться в «Баг-репорт OkayCMS (Сообщения об ошибках)»