Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Azimrin

Newbie
  
  • Posts

    6
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Azimrin's Achievements

Rookie

Rookie (2/14)

  • First Post
  • Week One Done
  • One Month Later
  • One Year In
  • Conversation Starter

Recent Badges

2

Reputation

  1. Но возникла трудность с отображением даты. Дело в том, что в русской локализации формат даты DD.MM.YYYY, в английской DD/MM/YYYY, а в латышской DD.MM.YYYY. (с точкой в конце). Менял формат даты в файле локализации (/catalog/language/en-gb и /catalog/language/lv), но это не помагает. Хотя в коде и прописано $deliveryDate->getTimestamp() - метод не работает для варианта DD/MM/YYYY (в английской версии). Может кто знает, где копать, чтобы поправить это. Так же вижу, что когда открывается календарь, то в зависимости от языка там отображаются дни недели и месяца на том языке, который выбран, но в файлах локализации я не нашел переводы. Я думаю, если найти переводы календаря, то там же будет и формат даты. Заранее благодарю.
  2. Решили вопрос с логикой реализации первого минуса. Отображение дополнительных полей для вариантов доставки в зависимости от даты и времени суток. Поля созданы в Filterit+Simple Путь:/catalog/model/tool/ В файле simpleapicustom.php Дописали код: public function getAvailableDeliveryTimes($deliveryDateStr) { $values = array(); date_default_timezone_set("Europe/Riga"); setlocale(LC_TIME, "ru_RU"); if (empty($deliveryDateStr)) { $deliveryDate = new DateTime('now'); } else { $deliveryDate = new DateTime($deliveryDateStr); } $currentDateTime = new DateTime('now'); $deliveryDate->setTime( 9, 0, 0 ); if ($deliveryDate->getTimestamp() - $currentDateTime->getTimestamp() > 0) { array_push($values,array( 'id' => 'morning', 'text' => $this->language->get('text_delivery_morning') . ' ' . $this->language->get($deliveryDate->format('l')) . ' ' . $deliveryDate->format('d.m.Y') )); } $deliveryDate->setTime( 18, 0, 0 ); if ($deliveryDate->getTimestamp() - $currentDateTime->getTimestamp() > 0) { array_push($values,array( 'id' => 'evening', 'text' => $this->language->get('text_delivery_evening') . ' ' . $this->language->get($deliveryDate->format('l')) . ' ' . $deliveryDate->format('d.m.Y') )); } return $values; } Где под себя подстроить можно date_default_set, setlocale, setTime, значение morning и evening (в моем случае это два временных слота на выбор). setTime( H, m, s ) - это время во сколько данный слот уже не доступен в текущий день. Например, если доставка с 10 утра до 13 (например), и для обработки заказов Вам требуется час, то вписываем setTime( 9, 0, 0 ), чтобы слот не был доступен за час до начала периода доставки. Так же и со вторым слотом, у меня это evening. Так же для достижения дружелюбности интерфейса каждому слоту добавляется текст, который можно прописать в локализации для каждого языка. Для первого варианта это text_delivery_morning, а для второго text_delivery_evening. В папке /catalog/language/ переходим в папку нужного языка и открываем файл php. Например: /ru-ru/ru-ru.php Добавляем в раздел Text нужные значения. $_['text_delivery_morning'] = 'Утренняя доставка —'; $_['text_delivery_evening'] = 'Вечерняя доставка —'; $_['Monday'] = 'Понедельник'; $_['Tuesday'] = 'Вторник'; $_['Wednesday'] = 'Среда'; $_['Thursday'] = 'Четверг'; $_['Friday'] = 'Пятница'; $_['Saturday'] = 'Суббота'; $_['Sunday'] = 'Воскресенье'; В коде есть добавка, чтобы после текстового значения еще прописывался день недели, ну чтобы клиенту было удобно воспринимать информацию. Это в части кода, где прописано $this->language->get($deliveryDate->format('l')) . ' ' . $deliveryDate->format('d.m.Y') Скриншоты как это выглядит на практике:
  3. Если Вам нечего ответить по теме, то проходите мимо. 2all, я не жду решения "нажатием кнопкой". Понимаю, что нужно править код order_list.twig, order_history.twig и прочие связанные с отображением полей на странице Заказы. Есть некоторое понимание, какая часть кода отвечает за вывод инфы от custom_field. Но нет понимания как код различает значения из Simple: filterit20 и filterit21. Я попросил помощи, потому что хочу сам разобраться, на мой взгляд форумы для того и существуют, чтобы люди делились опытом, а не для того, чтобы язвили и предлагали очевидные варианты типа "закажите платные услуги". Прошу не писать такие советы и не потому что нет денег купить модуль или заказать услугу. У некоторых возможно всё заплыло деньгами и от этого атрофировалось чувство чего-то добиваться и делать самостоятельно, но у меня пока эти пунктики присутствуют. Никак не против платных услуг, но тут тема о другом. Заранее благодарю всех кто откликнется.
  4. Мой ответ не претендует на ответ специалиста, но возможно дело в настройках "обязательности". Заглушка (так называется empty*цифры*@localhost.net) вставляется тогда, когда обязательность заполнения поля Почта была отключена. Давайте попробуем сверить настройки. Посмотрите как настроено у меня. Теперь с телефоном: При таких настройках телефон и почта всегда обязательны и заказать не возможно без заполнения этих полей.
  5. @deeman знаю, что это не касается техподдержки, но всё же прошу взглянуть. Буду рад любому совету, чтобы я смог самостоятельно сдвинуться с места.
  6. Приветствую! (Я тут впервые, если пишу не туда, просьба перенести в соответствующий раздел) Пользуюсь обычной версией Opencart 3.0.3. Установил связку Simple и Filterit. Читал, пробовал и многие задачи решил с помощью этих модулей. А точнее создал варианты для метода доставки зависящие от "региона". Если кому интересно, могу подробно рассказать (актуально для собственной доставки). Добавил НАБОРЫ ПОЛЕЙ У ВАРИАНТОВ ДОСТАВКИ Первое поле это Дата, с этим вроде как разобрался и всё работает. Второе поле это время, но не конкретное, а временные диапазоны. Всё что я мог сделать это добавить поле Радиокнопки и прописать им значения в ручную. Для отображения в Оформлении заказа этого достаточно. Но из этого вытекают два минуса. Первый минус. Нужно, чтобы в текущем дне, за час до назначенного времени (в диапазоне) слот не был активен. // Требуется для избежания заказа, когда доставка уже выполняется. Другими словами, если наступило уже 8 утра, то первый слот на этот день уже не может быть доступен. На данный момент слоты доступны всегда и в любой день. Второй минус. На странице Заказы поля созданные в Simple отображаются во вкладке Дополнительно (если установить модификатор от Simple) и в Комментариях к заказу (без модификатора). Нужно, чтобы Дата и Время выводились отдельными полями в Информации о заказе, а так же в списке заказов с возможностью сортировать список по дате и\или по временным слотам. Помогите разобраться и решить задачу. Спасибо.
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.