Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

Початок розробки ocStore 4 / Начало разработки ocStore 4


dinox
 Поделиться

Рекомендованные сообщения

UA: Як було повідомлено раніше, ми створили гілку на Github та розпочали локалізацію і міграцію функционалу з попередніх версій ocStore, якщо у Вас є конкретні пропозиції  і можливо рішення, які на Вашу думку є сенс додати в збірку ocStore 4, чекаємо Ваші pull реквести і коментарі в даній темі, попередньо було багато дискусій в темі, був там і флуд і хороші рекомендації. Зараз ми переходимо від дискусій до реалізації. 
Для тих хто не читав раніше: Для власників інтернет магазинів, місце діяльності яких в Україні, в релізі ocStore 4 буде базово додана українська мова, крім російської. 

 

RU: Как было уже сказано ранее, мы создали ветку на Github и начали локализацию и миграцию функционала с предыдущих версий ocStore, если у Вас есть конкретные предложения и возможно решения, которые по Вашему мнению есть смысл добавить в сборник ocStore 4, ждем Ваши pull реквесты и комментарии в данной теме, предварительно было много дискуссий в теме, был там и флуд и хорошие рекомендации. Сейчас мы переходим от дискуссий к реализации. Старая тема буде закрыта

 

  • +1 15
Ссылка на комментарий
Поделиться на других сайтах


  • dinox открепил и закрепил теме

Як на мене, то не раджу апгрейд до OP-4. Мої аргументи:

1. найбільш стабільна 2.3 - то моє ообисте ставлення.

Изменено пользователем esculapra
  • +1 1
Ссылка на комментарий
Поделиться на других сайтах

Заморочка с | - ну нафига это надо?

Вот админы меня не понимают.

смотрите, я передаю в пост-запрос параметр, типа, task=truncaneTable

контроллер обрабатывает типа

Цитата

if(isset($this->request->post['task'])&&!empty($this->request->post['task']))
          $function=$this->request->post['task'];
      elseif(isset($this->request->get['task']))
          $function=$this->request->get['task'];
     if(isset($function))
       {
         $this->$function();
       }
        else
          $this->getList();
     }

То есть все функции protected или private

Далее

В модели только одна функция публичная

Цитата

     public function _FUN($type,$fn,$options = null)
         {
           $function = $type.$fn;
             return $this->$function($options);
         }

Дв, тум есть и мой зашквар, бо вызывается типа

Цитата

$this->model_tool_tool_antihacker_base->_FUN('get','ConfigContent',$this->request->get);

В итоге срабатывает функция getConfigContent - уж извините меня за паранойю.

Ссылка на комментарий
Поделиться на других сайтах

10.06.2022 в 22:06, esculapra сказал:

Заморочка с | - ну нафига это надо?

Не совсем
ранее проверялся путь до файла .. пока не упрешься
А сейчас сразу - [контроллер, метод]
 

 

10.06.2022 в 22:06, esculapra сказал:

if(isset($this->request->post['task'])&&!empty($this->request->post['task']))

кто вас этому учил?

У себя вы можете делать что хотите

method_exists

Вот потому для вас 2.3..

Ссылка на комментарий
Поделиться на других сайтах

Пока что не сильно обращайте внимание, где лежат языковые файлы :) Когда закончим основные переводы уже тогда подумаем и разместим переводы в оптимальном месте. Также вопрос возникает по поводу использования кода языка uk или ua, в некоторых js библиотеках используется ua, в других uk.

Ссылка на комментарий
Поделиться на других сайтах


uk-ua

Не так много js либ..
В крайнем случае, например date-picker - uk

на офсайте есть мод перевода (uk) для четверки..

  • +1 4
Ссылка на комментарий
Поделиться на других сайтах

Кто, что думает, чтобы при переносе и создании модулей добавлять к названиям файлов и языковых перемен префикс ocstore_ или ocs_

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

Ссылка на комментарий
Поделиться на других сайтах

10.06.2022 в 22:37, chukcha сказал:

Вот потому для вас 2.3..

Та мне пофиг как версии опенкарт, так и пхп - у меня всегда все работает! И не опенкартом единым, так сказать.... Я и престашоп делал для Англии, Швейцарии и пр. Просто счас мой менеджер в ЗСУ

Ссылка на комментарий
Поделиться на других сайтах

11.06.2022 в 02:26, buslikdrev сказал:

Кто, что думает, чтобы при переносе и создании модулей добавлять к названиям файлов и языковых перемен префикс ocstore_ или ocs_

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

но точно такая же проблема была и  у 2-3x

 

Ссылка на комментарий
Поделиться на других сайтах

uk-ua как-то давно вроде уже обсуждалось и пришли к такому выводу, жаль что много где наоборот встречается))

bootstrap-select код к примеру ua_UA
Ссылка на комментарий
Поделиться на других сайтах

10.06.2022 в 22:37, chukcha сказал:

method_exists

есть еще и class_exists, function_exists, но прекрасно справляется и проверка на существовани, то есть isset

 

Ссылка на комментарий
Поделиться на других сайтах

Предлагаю для таблиц модулей сборки добавлять префикс "ocStore_"

Прихований текст

oc_ocStore_article

oc_ocStore_article_description

oc_ocStore_article_image

oc_ocStore_article_related

oc_ocStore_article_related_mn

oc_ocStore_article_related_product

oc_ocStore_article_related_wb

oc_ocStore_article_to_blog_category

oc_ocStore_article_to_download

oc_ocStore_article_to_layout

oc_ocStore_article_to_store

oc_ocStore_blog_category

oc_ocStore_blog_category_description

oc_ocStore_blog_category_path

oc_ocStore_blog_category_to_layout

oc_ocStore_blog_category_to_store

oc_ocStore_customer_blog_search

oc_ocStore_review_article

 

Что будем делать с производителями и тегом meta_h1?

  • +1 2
Ссылка на комментарий
Поделиться на других сайтах

Сейчас через демо сайт\заказы можно спамить по email, если хостинг отправляет сообщение.

Ссылка на комментарий
Поделиться на других сайтах

12.06.2022 в 13:02, buslikdrev сказал:

Предлагаю для таблиц модулей сборки добавлять префикс "ocStore_"

  Показать содержимое

oc_ocStore_article

oc_ocStore_article_description

oc_ocStore_article_image

oc_ocStore_article_related

oc_ocStore_article_related_mn

oc_ocStore_article_related_product

oc_ocStore_article_related_wb

oc_ocStore_article_to_blog_category

oc_ocStore_article_to_download

oc_ocStore_article_to_layout

oc_ocStore_article_to_store

oc_ocStore_blog_category

oc_ocStore_blog_category_description

oc_ocStore_blog_category_path

oc_ocStore_blog_category_to_layout

oc_ocStore_blog_category_to_store

oc_ocStore_customer_blog_search

oc_ocStore_review_article

 

Что будем делать с производителями и тегом meta_h1?

также - добавлять
Но имя бренда оставить одноязычным

Ссылка на комментарий
Поделиться на других сайтах

13.06.2022 в 12:39, chukcha сказал:

Но имя бренда оставить одноязычным

Почему? Есть же названия на разных языках.

Ссылка на комментарий
Поделиться на других сайтах

13.06.2022 в 13:44, buslikdrev сказал:

Почему? Есть же названия на разных языках.

1. Совместимость
2. По сути - название бренда - основной язык
Adidas != Адидас
McDonald’s != Вкусно и точка

  • +1 4
Ссылка на комментарий
Поделиться на других сайтах

13.06.2022 в 12:48, chukcha сказал:

1. Совместимость
2. По сути - название бренда - основной язык

Совместимость с чем? Можно сделать сохранение и в manufacturer и в manufacturer_description. Другие авторы пусть думают, что переопределить, что заменить и т.д.

По сути будут новые модули незнающие об manufacturer_description\name. Хозяин магазина, если захочет придёт на форум искать помощи, а ему скажут 20$ в час.

Ссылка на комментарий
Поделиться на других сайтах

13.06.2022 в 13:48, chukcha сказал:

1. Совместимость
2. По сути - название бренда - основной язык
Adidas != Адидас
McDonald’s != Вкусно и точка

Есть еще бренды на кириллице, много где требуется мультиязык для них.

 

13.06.2022 в 14:00, buslikdrev сказал:

По сути будут новые модули незнающие об manufacturer_description\name. Хозяин магазина, если захочет придёт на форум искать помощи, а ему скажут 20$ в час.

У себя сделал

 

  public function isUseManufacturerDescription() {
    return $this->isColumnExists('manufacturer_description', 'name');
  }  

  public function isColumnExists($table, $column) {
    if (!$this->isTableExists($table)) {
      return false;
    }
    
    $query = $this->db->query("SHOW COLUMNS FROM `" . DB_PREFIX . $this->db->escape($table) . "` LIKE '" . $this->db->escape($column) . "'");    
    
    return (bool)$query->num_rows;
  } 

 

Другое дело, что не у всех эта таблица задействована, а физически присутствует. 

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах

20.06.2022 в 18:41, SooR сказал:

Другое дело, что не у всех эта таблица задействована, а физически присутствует. 

Не "дорого" такие проверки выходят в результате?

Ссылка на комментарий
Поделиться на других сайтах

23.06.2022 в 12:32, matroskin92 сказал:

Не "дорого" такие проверки выходят в результате?

такую проверку можно сделать в настройках модуля

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах

23.06.2022 в 14:07, chukcha сказал:

такую проверку можно сделать в настройках модуля

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

Ссылка на комментарий
Поделиться на других сайтах

23.06.2022 в 12:30, matroskin92 сказал:

В настройки модуля редко кто заходит и их обновляет,

Ошибка будет - зайдут и инструкцию прочтут.

Ссылка на комментарий
Поделиться на других сайтах

23.06.2022 в 12:32, matroskin92 сказал:

Не "дорого" такие проверки выходят в результате?

При сохранении настроек. Пока что этого хватает. Ничего не мешает записывать в кэш и иногда опрашивать.

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах

Что касательно локализации

нет локализации  - нет текстов ( в старших версиях подгружался хотя бы en-gb

ЧПУ - реализовано красиво, просто, но ссылка всегда с языком (по умолчанию)
route - название сущности (product/product - product и тд
Т.е. ЧПУ не совместимы

Фронт пока не умет переключаться

форма переключения  реализована криво
нет переменной сессии языка, хотя в админке (заказ) - есть

Т.е. локализация не работает.


Пока не сильно смотрел, но при редактировании заказа формируется store instance

но и там ошибка.

Не знаю плюс или минус - списки реализованы через $.load  - pgination, filter

методы save - аяксовые  типа - сохранить и остаться

К сожалению, как всегда , не все списки фильтруются. например категории, события , startup

Инсталляция .. ладно смириться можно.. Есть интересный способ, если нужен vendor - используется composer.json и перестраивается autoload.php

при деинстале,  увы не перестраивается

 


 

Ссылка на комментарий
Поделиться на других сайтах

  • 3 месяца спустя...

Жду OcStore 4. Думаю что будет интересно

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

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

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