Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

fortoonas

Новичок
  
  • Публикаций

    41
  • Зарегистрирован

  • Посещение

Посетители профиля

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

Достижения fortoonas

Contributor

Contributor (5/14)

  • Dedicated Редкая
  • First Post
  • Collaborator
  • Week One Done
  • One Month Later

Последние медали

3

Репутация

  1. fortoonas

    [Решено] знаки валюты HTML

    Иногда есть необходимость обернуть символ в HTML теги. Для этого нужно в базе изменить изменить тип данных полей symbol_left и symbol_right в таблице oc_currency (к примеру на VARCHAR(120)). А затем в system/library/cart/currency.php раскодировать вывод html сущностей foreach ($query->rows as $result) { $this->currencies[$result['code']] = array( 'currency_id' => $result['currency_id'], 'title' => $result['title'], 'symbol_left' => html_entity_decode($result['symbol_left'], ENT_QUOTES, 'UTF-8'), 'symbol_right' => html_entity_decode($result['symbol_right'], ENT_QUOTES, 'UTF-8'), 'decimal_place' => $result['decimal_place'], 'value' => $result['value'] ); именно вот здесь 'symbol_left' => html_entity_decode($result['symbol_left'], ENT_QUOTES, 'UTF-8'), 'symbol_right' => html_entity_decode($result['symbol_right'], ENT_QUOTES, 'UTF-8'), Теперь символ валюты, можно обернуть в тег и на всём сайте стилизовать отдельно этот символ.
  2. Кстати Да, если оплату не нужно принимать на сайте, то лучше использовать метод оплаты "Банковский перевод", этот метод не запускает скрипт "перехода к оплате". В фильтре отчета "Продажи-Заказы" добавили новую опцию "потерянные заказы". Если я не ошибаюсь то в старых версиях ОС, этой опции раньше не было, и приходилось эти так называемые "потерянные заказы" искать только в базе через запрос: "SELECT * FROM `oc_order` WHERE order_status_id = 0". Это в принципе тот же самый запрос который выполняет отчет "Продажи-Заказы" при выборе статуса "потерянные заказы" в фильтре. Как я уже сказал, "потерянные заказы" это заказы без статуса. То есть их статус это 0. Когда происходит подтверждение заказа клиентом (это когда клиент уже нажимает кнопку подтвердить заказ), система запускает скрипт controller/checkout/confirm.php. Этот скрипт создаёт запись в базе на заказ клиента со статусом 0. (то-есть на данный момент у этого заказа нет статуса, но он уже содержит имя клиента, адрес, сумму, продукты итд...) Затем запускается скрипт который отвечает за перевод денежных средств. Какой скрипт оплаты запустится системой ОС зависит от того какой тип оплаты был выбран клиентом при заказе. Эти скрипты хранятся в controller/payment/*.php. Когда скрипт получает сообщение о переводе денежных средств от системы оплаты (например PayPal или SagePay) то находит недавно созданную запись заказа в базе (без статуса) и даёт статус заказу в зависимости от полученного сообщения. Сообщение о переводе от системы оплаты может быть разное, например Отказано, Не удалось, в ожидании, Завершено, итд. Вот так вот выглядит скрипт оплаты через PayPal. Я подозреваю что периодически происходит какой-то сбой в скрипте оплаты. То есть возможно периодически он НЕ получает какое либо подтверждение от системы оплаты (даже если это метод "Оплата при доставке"), и в связи с этим не может дать статус заказу. Таким образом этот заказ остаётся без статусным (утерянным) для систему ОС. В таком случае скрипт даже не будет выдавать ошибку (но это уже зависит от того как он был написан). В принципе email клиенту тоже будет отправлен, что заказ был осуществлён. Какую систему оплаты используют ваши клиенты? Нужно посмотреть, что скрипт делает в случае если он НЕ получает сообщение от системы оплаты. https://forum.opencart.com/viewtopic.php?t=126001
  3. Добавлю, что utf8_strlen utf8_substr это пользовательские методы хелпера Opencart, которые находятся в файле system\helper\utf8.php К примеру: function utf8_strlen($string) { return mb_strlen($string); }
  4. Этот как раз пример адаптации старой версии кода, на более новую OC2.3 в OC3 уже другой вариант $this->model_setting_extension->install('dashboard', $this->request->get['extension']); $this->model_setting_extension->uninstall('dashboard', $this->request->get['extension']);
  5. Я ремонтировал сайт с похожей проблемой (OC3), раннее не сталкивался с изучением вопроса "как выводятся данные на странице Dashboard". Настройки Dashboard (показывать-не показывать, редактировать-не редактировать, вкл-выкл) записаны в разных таблицах. oc_user_group oc_extension oc_setting Но в моём случае была испорчена таблица oc_setting Но нужно учитывать, что таблицы наполняются при включении модулей на странице site.com/admin/index.php?route=marketplace/extension (вкладка Dashboard) в файле admin/controller/extension/extension/dashboard.php в разных версиях OC немного отличается код К примеру в ОС3.0.3.8 $this->model_setting_extension->install('dashboard', $this->request->get['extension']); этой строкой кода происходит включение модулей dashboard в таблице oc_extension
  6. Причины действительно могут быть разными, к примеру у меня ровно в такой-же ситуации, причина была в том что, при не достаточной безопасности, недобрые люди, закинули файл, который немного сломал базу. Пришлось просто бекап базы восстановить.
  7. Действительно! Просто зачем-то вставили звёздочки(обязательное поле) и поэтому машинально вводит в заблуждение. Надо будет у себя исправить и убрать эти звёздочки или написать модификатор который убирает звёздочки или вставит подсказку (типа можно сохранять и без пароля)
  8. @Rassol2 Простите что прерываю такую интересную тему) Может я пропустил.....как Вы устроились в Америке? Есть смысл туда переезжать сейчас?
  9. В принципе я и сам так начал думать, когда начал использовать языки программирования для своих задач. Т.е подумал. что большинство использующих языки, это "пользователи языка" или "администраторы языка", а настоящие программисты это люди создающие интерпретаторы и компиляторы, подумал я). Но для "простых людей" это будет некая путаница, поэтому я считаю, что лучше трактовать так, "все кто используют так или иначе языки, и есть программисты того или иного уровня". Потому-что людей написавших компиляторы пару сотен на весь мир, а использующих языки миллионы.
  10. Просто....удивительно) Когда человек решает вопросы программирования, делает свои модули и считает себя не программистом. Кто-же тогда такой программист? И да, я читал статью, где человек описывал как он себя не считает программистом программируя много лет, по-моему это субъективно.
  11. Может в этом загвоздка...не помню чтобы мне такое приходило
  12. @Tom Ты в 2013 ещё не был программистом?
  13. Да, там можно и через доступ для стороннего приложения и без него. Я перепробовал все варианты. Там у почтовиков сейчас какие-то глобальные изменения происходят. К примеру в mail сделали VK WorkSpace (бизнес почта на домене), а яндекс-коннект переезжает на Яндекс 360 для бизнеса.
  14. Казалось-бы какие проблемы)) Я настраивал SMTP десятки раз, но.... Вот сейчас столкнулся с настройкой SMTP на шаред timeweb и ни ssl://smtp.mail.ru, ни ssl://smtp.yandex.ru, не заработало. Техподдержка всячески отнекивалась, типа "ваш скрипт в опенкарт не отрабатывает", хотя скрипт не менялся и я проверил ещё и ещё раз. Конечно нужно учитывать, что МХ записи, нужно писать с точкой в конце MX 10 mx.yandex.net. (с точкой в конце) MX 10 emx.mail.ru. (с точкой в конце) при этом у них при создании МХ, есть функционал "выбрать почту" и там автоматическая вставка без точки. Во общем, после недельной переписки. пришлось создать почту на хостинге и настроить через smtp.timeweb.ru, а потом ещё день подождать пока что-то обновиться по их словам, потому-что почта приходила с задержкой в полтора часа)) А ещё на почту https://webmail.timeweb.ru приходили письма, в которых вырезались картинки. Техподдержка не смогла дать ответ (хотя потом случайно увидел в правом верхнем углу кнопку "нажать, чтобы отображать изображения"), но посоветовали перейти на новых формат их почты https://roundcube.timeweb.ru где картинки не вырезаются.
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.