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

Azimrin

Новачок
  
  • Публікації

    6
  • З нами

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

Відвідувачі профілю

Блок відвідувачів профілю відключений і не буде доступний широкому іншим користувачам

Azimrin's Achievements

Rookie

Rookie (2/14)

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

Recent Badges

2

Репутація

  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) и в Комментариях к заказу (без модификатора). Нужно, чтобы Дата и Время выводились отдельными полями в Информации о заказе, а так же в списке заказов с возможностью сортировать список по дате и\или по временным слотам. Помогите разобраться и решить задачу. Спасибо.

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

Important Information

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