Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Linkoln

Користувачі
  
  • Публікації

    185
  • З нами

  • Відвідування

Повідомлення, опубліковані користувачем Linkoln

  1. Спасибо большое, сработало, сам бы не догадался, но я вот что не понимаю, я был уверен, что ту часть кода не трогал (так и есть), но сейчас сравнил с оригинальным кодом модуля, и там действительно так, как вы написали. Это получается, я как-то нечайно дописал это туда... но я понимаю, букву поставить, или там точку с запятой забыть, но вот так что бы...

  2. Всем доброго дня. В модуле оплаты появилась непонятная мне ошибка, а именно : 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)
      }

     

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

  3. 34 minutes ago, mpn2005 said:

    Какая версия php?

    Понизьте до версии 7.2 или 7.3

    Да, именно 7.4 стоит, но на буржуйском рессурсе вычитал, что либо:

    1 версих пхп понизить

    2 вышеописанный метод

    3 обновить Twig до последней версии.

    Мне  вариант №2 помог, но заинтересовало вот что- а как Обновить Twig, стоит ли вообще этим заниматься?

  4. Разобрался, путем долгого гулежа, для исправления ошибки в файле 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 1
  5. Всем доброго дня, господа форумчане. Столкнулся со странной проблемой, шаблонизатор обрезает пробел перед знаком шаблонного литерала. То есть, если код такой:

    <!-- top_item.item_align = Left -->
    <li class="li-top-item {{ top_item.item_align }}">

     

    то на клиенте я получаю 

    <li class="li-top-itemLeft">

     

    Пробовал чистить всевозможные кэши,  Кэш шаблонизатора в Filesystem.twig отключил. У меня закончились варианты, есть у кого-нибудь идеи?

  6. On 12/7/2020 at 7:16 PM, 112rub said:

    а что я умножаю? вы можете по существу сказать или вам просто скучно? если просто скучно и лишь бы что написать то не засоряйте тему пожалуйста 

    Какую именно переменную вы проверили через var_dump() и она вывелась как NULL ? Или вы имеете в виду, dump(mes1.id) ?

    Попробуйте по-порядку проверить переменные начиная от $all_mes в контроллере и двигаясь в верх по-цепочке до модели.

  7. 14 hours ago, wladislaw353 said:


    Да, для адреса юзера добавлены кастомные поля, но они не обязательные к заполнению.

    попробуйте отключить их и попробовать редактировать заказ, если с отключенными полями,  заказ будет редактироваться, попробуйте задать для них условие для валидации и только тогда включить

  8. 4 minutes ago, esculapra said:

    Попробуй так

    $model =

    
    'model_extension_shipping_' . $result['code']

     

    $this->$model->getQuote()

    Спасибо, попробую, но в чем собственно разница? Я ведь даже пробовал для теста напрямую захардкодить
    $quote = $this->model_extension_shipping_maparea->getQuote($shipping_address); все равно не грузилась. И все это происхоило, когда я во вьюшке пытался удалить встроенный в нее вывод даты доставки, и дописать свой, перестал удалялять, стал просто оключать, и дописывать свой чуть ниже, и все работает пока, вроде. . Я не могу ума приложить- как вьюшка может влиять на загрузку модели в контроллере? и почему именно эта модель не грузилась, а другие грузились?

  9. Вообщем несколько раз восстанавливал из бэкпапа и заметил вот что: Все идет хорошо, пока я не пытаюсь отредактировать вьюшку shiping_method.twig но это как минимум странно. Как вьюшка может быть связанна с загрузкой модели?

  10. 5 hours ago, mpn2005 said:

    Это значит что для какого-то метода доставки не загрузилась модель.

    Может её нет. Может есть косяки где-то в самой модели. Отключайте по очереди все методы доставки и разбирайтесь на чём валится.

     

    Модель есть, ошибка появилась, когда я залил на сервер измененный shipping_method.php, потом залил родной, все заработало, потом снова ошибка, опять пробовал залить оригинальные, не помогло. Другие методы доставки (бесплатная доставка) работают, и подгружаются.

  11. Сайт будет именно на этом чекауте работать, его даже перепилить нужно немного. Суть не в этом, модуель не грузится и все, я даже пробовал просто загрузить ее и вызвать  вне цикла

    $this->load->model('extension/shipping/mapship');
    $quote = $this->model_extension_shipping_maparea->getQuote($shipping_address);

    то же самое, при чем ошибка только в логах сервера видна, хотя отображение ошибок включено

  12. Всем добрый день. 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 отключен, возможно связано с этим?

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.