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

[Решено] Модель товара


Strogin

Recommended Posts

У товаров в моём ассортименте (подарки, сувениры) нет такого понятия "Модель". Однако, это поле почему-то обязательно для заполнения. Куда нужно влезть, чтобы сделать это поле необязательным? (oc1.5.1.3)

Надіслати
Поділитися на інших сайтах


Эта тема часто обсуждается.

Можно сделать это поле необязательным для заполнения при добавлении товара и убрать с карточки товара.

Вот тут решение: https://opencartforum.com/topic/7853-%D0%BA%D0%B0%D0%BA-%D1%83%D0%B1%D1%80%D0%B0%D1%82%D1%8C-%D1%85%D0%B0%D1%80%D0%B0%D0%BA%D1%82%D0%B5%D1%80%D0%B8%D1%81%D1%82%D0%B8%D0%BA%D1%83-%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C/page__hl__%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C__fromsearch__1

Надіслати
Поділитися на інших сайтах


В той теме ответа нет! Там написано как отключить отображение Модели в пользовательской части. А мне надо сделать это поле необязательным для заполнения в админке!!!

Надіслати
Поділитися на інших сайтах


  • 9 months later...

Это поле обязательно. И название должно быть уникальным.

Модель можно, переименовать в артикул.

А действительно ли поле "Модель" должно быть уникальным? Какие последствия его неуникальности?

Надіслати
Поділитися на інших сайтах


да по сути никаких :-) но вот мне частенько кажется что это "особенности перевода" потому как в англоязычной версии это звучит как "Product Code" по сути это тот же артикул\код товара хотя есть у них и SKU но это больше относится к каталожному номеру либо заводскому.

если хотите сделать его необязательным смотрите в admin/controller/catalog/product.php в функции validateForm

и удалите либо закомментируйте вот этот кусок кода

if ((utf8_strlen($this->request->post['model']) < 1) || (utf8_strlen($this->request->post['model']) > 64)) {
    $this->error['model'] = $this->language->get('error_model');
 }

Надіслати
Поділитися на інших сайтах

мне частенько кажется что это "особенности перевода" потому как в англоязычной версии это звучит как "Product Code" по сути это тот же артикул\код товара хотя есть у них и SKU но это больше относится к каталожному номеру либо заводскому.

Поиск по папке admin/language/english дал лишь одно вхождение строки "product code" - в описании поля UPC. Так что не надо, в оригинале там именно слово "Model".

UPD: А, вижу - в catalog действительно пятьдесят на пятьдесят: text_model = "Product code", а в сортировках и др. местах - Model. Наверное в какой-то момент решили переименовать.

Надіслати
Поділитися на інших сайтах


snastik интересует такой ньюанс: если в этом поле у нескольких разных товаров будут одинаковые данные. то это не повлияет на последующую работу с магазином (не участвует ли это поле в каких либо сравнениях или связывании таблиц в запросах и тд...) Если это поле будет не уникальным в таблице товаров, то не вылезут потом разные косяки связанные с этим? Но так как в таблице БД это поле не имеет признака уникальности то можно предположить что данные там могут быть одинаковые у разных товаров, я прав?

Надіслати
Поділитися на інших сайтах


2kegel: нет, они нигде не пересекаются. Просто обязательны к заполнению, что, впрочем, как пояснили выше, можно легко отключить.

Надіслати
Поділитися на інших сайтах

Поиск по папке admin/language/english дал лишь одно вхождение строки "product code" - в описании поля UPC. Так что не надо, в оригинале там именно слово "Model".

UPD: А, вижу - в catalog действительно пятьдесят на пятьдесят: text_model = "Product code", а в сортировках и др. местах - Model. Наверное в какой-то момент решили переименовать.

теоретически и ведет оно себя как продукт код в плане поиска по коду и так далее но буржуев их черт поймешь :-) в админке у них модель на фронтенде продукт код :-)

Надіслати
Поділитися на інших сайтах

snastik интересует такой ньюанс: если в этом поле у нескольких разных товаров будут одинаковые данные. то это не повлияет на последующую работу с магазином (не участвует ли это поле в каких либо сравнениях или связывании таблиц в запросах и тд...) Если это поле будет не уникальным в таблице товаров, то не вылезут потом разные косяки связанные с этим? Но так как в таблице БД это поле не имеет признака уникальности то можно предположить что данные там могут быть одинаковые у разных товаров, я прав?

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

Надіслати
Поділитися на інших сайтах

Я бы вообще не убирал полностью это поле, а дублировал туда название товара или SKU. Или даже совмещал их в этом поле (если SKU используется). Технически это несложно реализовать. Да и вручную никаких проблем нет - поля рядом, из клипборда вставить пару раз несложно.

Из положительных моментов:

* меньше мороки (опенкарт не обнаружит внезапно, что поле, которое ожидалось, что всегда будет заполнено, вдруг оказывается пустым);

* поиск по умолчанию по SKU не ищет, а по модели - кажется да. Вот и поиск по SKU из коробки.

То есть этот вариант и обезопасит, и вдобавок может не нарушить работу поиска (а то и улучшить). Два бонуса и ни одного минуса.

Короче, мораль сей басни - а оно вам мешает, это поле? Может стоит на него просто по-другому посмотреть и оно вдруг станет полезным?

Надіслати
Поділитися на інших сайтах


2rb2:предположим, я торгую резными трубками ручной работы. И в магазине у меня их ровно семь. К чему мне артикулы всякие? Ну и поиск по админке, где мне все товары вываливает по любому заходу. ;)

Надіслати
Поділитися на інших сайтах

2rb2:предположим, я торгую резными трубками ручной работы. И в магазине у меня их ровно семь. К чему мне артикулы всякие? Ну и поиск по админке, где мне все товары вываливает по любому заходу. ;)/>

Я бы [..] дублировал туда название товара или SKU. Или даже совмещал их в этом поле (если SKU используется). [...]

Надіслати
Поділитися на інших сайтах


  • 6 months later...

Я сделал по другому.

Цитата с другого форума

easiest way to do it would be to use epoch time in seconds from January 1st 1970

That way it will always be unique and only 1 small file edit is required to accomplish it

edit: admin/view/template/catalog/product_form.tpl

<input type="text" name="model" value="<?php echo $model; ?>" />

меняем на

<input type="text" name="model" value="<?php echo ($model==''?time():$model); ?>" />

Получается уникальный код

Надіслати
Поділитися на інших сайтах


  • 2 months later...

Я сделал по другому.

Цитата с другого форума

easiest way to do it would be to use epoch time in seconds from January 1st 1970

That way it will always be unique and only 1 small file edit is required to accomplish it

edit: admin/view/template/catalog/product_form.tpl

<input type="text" name="model" value="<?php echo $model; ?>" />

меняем на

<input type="text" name="model" value="<?php echo ($model==''?time():$model); ?>" />

Получается уникальный код

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

Надіслати
Поділитися на інших сайтах


  • 4 months later...

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

С какой стати? Он проверяет же если модель не указана тогда только ставится time()

Прикрепляю xml для vqmod что бы не требовалось править файлы ядра.

model_generate.xml

  • +1 1
Надіслати
Поділитися на інших сайтах


  • 2 years later...

В варианте со временем есть косяк: проверка происходит при сохранении. Т.е если нет модели, то нужно 2 раза сохранять.  Я сделал так: заменил <?php echo $model; ?> на <?php echo $sku; ?>, тогда продублируем данные и ничего не нужно удалять/заполнять.

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

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