-
Публікації
185 -
З нами
-
Відвідування
Тип публікації
Профілі
Форум
Маркетплейс
Статті
FAQ
Наші новини
Магазин
Блоги
module__dplus_manager
Повідомлення, опубліковані користувачем Linkoln
-
-
Всем доброго дня. В модуле оплаты появилась непонятная мне ошибка, а именно : array_multisort(): Array sizes are inconsistent in <b>/home/f/fish2o/test.fish2o.ru/public_html/catalog/controller/extension/quickcheckout/shipping_method.php
нахожу в контроллере, там следующий код,
foreach ($results as $result) { if ($this->config->get('shipping_' . $result['code'] . '_status')) { $this->load->model('extension/shipping/' . $result['code']); $quote = $this->{'model_extension_shipping_' . $result['code']}->getQuote($shipping_address); if ($quote) { $method_data[$result['code']] = array( 'title' => $quote['title'], 'quote' => $quote['quote'], 'sort_order' => $quote['sort_order'], 'error' => $quote['error'] ); } } } $sort_order = array($method_data); var_dump($sort_order); var_dump($method_data); foreach ($method_data as $key => $value) { $sort_order[$key] = $value['sort_order']; } array_multisort($sort_order, SORT_ASC, $method_data); // та самая 530 строчка
вот что выдает var_dump():
array(1) { [0]=> array(1) { ["maparea"]=> array(4) { ["title"]=> string(37) "Курьерская доставка" ["quote"]=> array(1) { ["maparea"]=> array(5) { ["code"]=> string(15) "maparea.maparea" ["title"]=> string(18) "Москва+5км" ["cost"]=> string(3) "350" ["tax_class_id"]=> string(1) "0" ["text"]=> string(7) "350 ₽" } } ["sort_order"]=> string(1) "1" ["error"]=> bool(false) } } } array(1) { ["maparea"]=> array(4) { ["title"]=> string(37) "Курьерская доставка" ["quote"]=> array(1) { ["maparea"]=> array(5) { ["code"]=> string(15) "maparea.maparea" ["title"]=> string(18) "Москва+5км" ["cost"]=> string(3) "350" ["tax_class_id"]=> string(1) "0" ["text"]=> string(7) "350 ₽" } } ["sort_order"]=> string(1) "1" ["error"]=> bool(false) } }
а вот уже вывод этих массивов, непоследственно, перед array_multisort()
array(2) { [0]=> array(1) { ["maparea"]=> array(4) { ["title"]=> string(37) "Курьерская доставка" ["quote"]=> array(1) { ["maparea"]=> array(5) { ["code"]=> string(15) "maparea.maparea" ["title"]=> string(18) "Москва+5км" ["cost"]=> string(3) "350" ["tax_class_id"]=> string(1) "0" ["text"]=> string(7) "350 ₽" } } ["sort_order"]=> string(1) "1" ["error"]=> bool(false) } } ["maparea"]=> string(1) "1" } array(1) { ["maparea"]=> array(4) { ["title"]=> string(37) "Курьерская доставка" ["quote"]=> array(1) { ["maparea"]=> array(5) { ["code"]=> string(15) "maparea.maparea" ["title"]=> string(18) "Москва+5км" ["cost"]=> string(3) "350" ["tax_class_id"]=> string(1) "0" ["text"]=> string(7) "350 ₽" } } ["sort_order"]=> string(1) "1" ["error"]=> bool(false) }
Код я не менял, все осталось как автор модуля делал, и вот внезапно понеслась. Подскажите пожалуйста, что тут не так и почему разные массивы получаются
-
Это 2.3 ?
- 1
-
34 minutes ago, mpn2005 said:
Какая версия php?
Понизьте до версии 7.2 или 7.3
Да, именно 7.4 стоит, но на буржуйском рессурсе вычитал, что либо:
1 версих пхп понизить
2 вышеописанный метод
3 обновить Twig до последней версии.
Мне вариант №2 помог, но заинтересовало вот что- а как Обновить Twig, стоит ли вообще этим заниматься?
-
Разобрался, путем долгого гулежа, для исправления ошибки в файле system/library/template/twig/Lexer.php и в строке примерно 164
найдите код
if (isset($this->positions[2][$this->position][0]) ) { $text = rtrim($text); }
и замените его на
if (isset($this->positions[2][$this->position][0]) && ($this->options['whitespace_trim'] === $this->positions[2][$this->position][0])) { $text = rtrim($text); }
После этого почитите в админ-панели кэш
- 1
-
Всем доброго дня, господа форумчане. Столкнулся со странной проблемой, шаблонизатор обрезает пробел перед знаком шаблонного литерала. То есть, если код такой:
<!-- top_item.item_align = Left --> <li class="li-top-item {{ top_item.item_align }}">
то на клиенте я получаю
<li class="li-top-itemLeft">
Пробовал чистить всевозможные кэши, Кэш шаблонизатора в Filesystem.twig отключил. У меня закончились варианты, есть у кого-нибудь идеи?
-
On 12/7/2020 at 7:16 PM, 112rub said:
а что я умножаю? вы можете по существу сказать или вам просто скучно? если просто скучно и лишь бы что написать то не засоряйте тему пожалуйста
Какую именно переменную вы проверили через var_dump() и она вывелась как NULL ? Или вы имеете в виду, dump(mes1.id) ?
Попробуйте по-порядку проверить переменные начиная от $all_mes в контроллере и двигаясь в верх по-цепочке до модели.
-
а через инспектор попробуй посмотреть во вкладке "сеть", при редактировании заказа, какие данные отправляются
-
14 hours ago, wladislaw353 said:
Да, для адреса юзера добавлены кастомные поля, но они не обязательные к заполнению.попробуйте отключить их и попробовать редактировать заказ, если с отключенными полями, заказ будет редактироваться, попробуйте задать для них условие для валидации и только тогда включить
-
Какие-нибудь настраиваемые поля добавлены к адресу или аккаунту юзера?
-
Добрый день, подскажите пожалуйста, как из хэдер убрать schedule где вообще храняться переменые хэдера? в controller/common/header не нашел всего того, что есть в common/header.twig
-
Тему можно закрывать
-
Порвалась связь планеты.
Аукать устаю.
Вопросы без ответов.
Ответы в пустоту.
А Вознесенкий ©
-
Шайтанамана, не иначе
-
4 minutes ago, esculapra said:
Попробуй так
$model =
'model_extension_shipping_' . $result['code']
$this->$model->getQuote()
Спасибо, попробую, но в чем собственно разница? Я ведь даже пробовал для теста напрямую захардкодить
$quote = $this->model_extension_shipping_maparea->getQuote($shipping_address); все равно не грузилась. И все это происхоило, когда я во вьюшке пытался удалить встроенный в нее вывод даты доставки, и дописать свой, перестал удалялять, стал просто оключать, и дописывать свой чуть ниже, и все работает пока, вроде. . Я не могу ума приложить- как вьюшка может влиять на загрузку модели в контроллере? и почему именно эта модель не грузилась, а другие грузились? -
Вообщем несколько раз восстанавливал из бэкпапа и заметил вот что: Все идет хорошо, пока я не пытаюсь отредактировать вьюшку shiping_method.twig но это как минимум странно. Как вьюшка может быть связанна с загрузкой модели?
-
5 hours ago, mpn2005 said:
Это значит что для какого-то метода доставки не загрузилась модель.
Может её нет. Может есть косяки где-то в самой модели. Отключайте по очереди все методы доставки и разбирайтесь на чём валится.
Модель есть, ошибка появилась, когда я залил на сервер измененный shipping_method.php, потом залил родной, все заработало, потом снова ошибка, опять пробовал залить оригинальные, не помогло. Другие методы доставки (бесплатная доставка) работают, и подгружаются.
-
9 minutes ago, Vetroff said:
опечатка?
да, в файле maparea стоит
-
как такие чудеса вообще могут быть? Все модели грузятся, эта нет, при чем через раз, права на файл проверил, все стандартно, очистку кэша всего чего можно, тоже делал
-
Сайт будет именно на этом чекауте работать, его даже перепилить нужно немного. Суть не в этом, модуель не грузится и все, я даже пробовал просто загрузить ее и вызвать вне цикла
$this->load->model('extension/shipping/mapship');
$quote = $this->model_extension_shipping_maparea->getQuote($shipping_address);то же самое, при чем ошибка только в логах сервера видна, хотя отображение ошибок включено
-
Всем добрый день. Ocstore 3.0.2.0 Пилю модуль доставки, Cтраница checkout работает под модулем quickcheckaut. При обращении к файлу shiping_metod через AJAX запрос выпадает с 500 статусом В логах хостинга появляется ошибка call to a member function getQuote() on null щт дшту 88 то есть не загружается модель. На 88 строчке у меня идет загрузка модели в цикле вот так:
$results = $this->model_setting_extension->getExtensions('shipping'); foreach ($results as $result) { if ($this->config->get('shipping_' . $result['code'] . '_status')) { $this->load->model('extension/shipping/' . $result['code']); $quote = $this->{'model_extension_shipping_' . $result['code']}->getQuote($shipping_address); if ($quote) { $method_data[$result['code']] = array( 'title' => $quote['title'], 'quote' => $quote['quote'], 'sort_order' => $quote['sort_order'], 'error' => $quote['error'] ); } } }
Самое странное, что исключение выскакивает не всегда, раз через раз. Иногда работает, иногда нет. Кэш Twig отключен, возможно связано с этим?
-
Доступ можно реализовать к контроллерам, через API, ну а они соответственно могу вызывать нужные модели. Какая именно модель нужна?
-
Тему закрываем, разобрался, кому интересно, пишите в ЛС, подскажу
-
Может кто знает как по-другому добавить бонусные баллы?
-
4 minutes ago, fanatic said:
после этого, обновили модификаторы?
Да, конечно
array_multisort()
в Допомога програмістам та розробникам
Опубліковано:
Спасибо большое, сработало, сам бы не догадался, но я вот что не понимаю, я был уверен, что ту часть кода не трогал (так и есть), но сейчас сравнил с оригинальным кодом модуля, и там действительно так, как вы написали. Это получается, я как-то нечайно дописал это туда... но я понимаю, букву поставить, или там точку с запятой забыть, но вот так что бы...