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

Добавить больше символов в название корзины


Recommended Posts

Может знаете где в базе данных находится название товаров ( которые отображаются в корзине )

В файле cart добавил желаемое:

echo mb_substr( $product['name'],0,300,'utf-8' )."...";
  • но получается только сократить. Где-то в базе данных стоит ограничение на кол-во символов.

Искал в базе в таких таблицах: _product и _order_product , находил поле name - менял на TEXT, менял varchar на 500 - результат ноль. В чём причина? Куда копать? Где искать?

Снимок.JPG

Змінено користувачем AV94
Надіслати
Поділитися на інших сайтах


:-D название товара хранится в таблице product_description

Ограничение имени товара стоит в 255 символов, а именно в контроллере admin/controller/catalog/product.php Если конечно создавали товар именно там. Так же и в таблице такое же кол-во символов. По сути, варчар и может хранить 255 символов..

 

Змінено користувачем Гість
Надіслати
Поділитися на інших сайтах

4 часа назад, nexus сказал:

:-D название товара хранится в таблице product_description

Как бы забавно это не звучало - но результата нет, когда изменил на TEXT или поставил вместо 255 - 500.

dmin/controller/catalog/product.php - не нашёл там ничего, что связано с этой переменной, что в корзине:

product['name'],
Надіслати
Поділитися на інших сайтах


18 часов назад, AV94 сказал:

Как бы забавно это не звучало - но результата нет, когда изменил на TEXT или поставил вместо 255 - 500.

dmin/controller/catalog/product.php - не нашёл там ничего, что связано с этой переменной, что в корзине:


product['name'],

 

Я же написал, что варчар может хранить 255 символов, пишите хоть 100500, всё равно будет 255 символов. Правда это было на одной из версий mysql, давно не поднимал этот вопрос. 

 

Достаточно посмотреть метод validateForm()

 

if ((utf8_strlen($value['name']) < 3) || (utf8_strlen($value['name']) > 255)) {
                $this->error['name'][$language_id] = $this->language->get('error_name');
            }

 

Который означает, если имя меньше 3 символов или больше 255, будет ошибка.

Соответственно, если убрать условие на ограничение и в БД выставить TEXT, имя товара может быть огромным..

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

45 минут назад, nexus сказал:

 

Я же написал, что варчар может хранить 255 символов, пишите хоть 100500, всё равно будет 255 символов. Правда это было на одной из версий mysql, давно не поднимал этот вопрос. 

 

Достаточно посмотреть метод validateForm()

 

if ((utf8_strlen($value['name']) < 3) || (utf8_strlen($value['name']) > 255)) {
                $this->error['name'][$language_id] = $this->language->get('error_name');
            }

 

Который означает, если имя меньше 3 символов или больше 255, будет ошибка.

Соответственно, если убрать условие на ограничение и в БД выставить TEXT, имя товара может быть огромным..

 

Я же писал ранее, что изменял на TEXT, на textlong - результата не было.

"Достаточно посмотреть метод validateForm()" - можете по подробней про этот метод рассказать? Прописать то, что вы написали выше в том месте где выводится название товара в корзине для проверки?

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


10 минут назад, AV94 сказал:

 

Я же писал ранее, что изменял на TEXT, на textlong - результата не было.

"Достаточно посмотреть метод validateForm()" - можете по подробней про этот метод рассказать? Прописать то, что вы написали выше в том месте где выводится название товара в корзине для проверки?


Это не в корзине, а при создании товара. В стандартной корзине нет никакого ограничения, лишь вывод названия..

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

1 час назад, nexus сказал:

 

Это не в корзине, а при создании товара. В стандартной корзине нет никакого ограничения, лишь вывод названия..

Тогда мы явно отклонились от темы. Мне в этом месте нужно пофиксить кол-во символов (при нажатии на корзину - появляются товары, которые были ранее выбраны):

Снимок.JPG

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


11 часов назад, nexus сказал:

Вы на скрине показываете ссылку, я вообще перестал Вас понимать =)

Там, вроде как, ссылка от корзины, судя по классу ( cart-name ) и если чуть выше глянуть, в корзине точно такой же элемент расположен, с точно таким же кол-вом символов. Мне именно в этой ссылке нужно увеличить кол-во символов.

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


Я же уже написал, что сам код нашёл где находится - cart.tpl, я не могу понять как его расширить.

             

<a class="cart-name" href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a>

Убрав этот код - убирается и сама надпись продукта в корзине.

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


13 минут назад, AV94 сказал:

Я же уже написал, что сам код нашёл где находится - cart.tpl, я не могу понять как его расширить.

             


<a class="cart-name" href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a>

Убрав этот код - убирается и сама надпись продукта в корзине.

 

Естественно :-D

 

Ладно, решу этот вопрос за денежку..

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

41 минуту назад, AV94 сказал:

А подсказать где в базе данных сменить VARCHART на TEXT нет возможности?

1. Я уже говорил где

2. На скрине в имени сколько символов? Посчитать трудно? Если трудно, вот это в помощь echo strlen($product['name']); Этого будет достаточно чтобы не лезть в БД с бредовой идеей.

 

Уже до смешного дошло, эту задачу решить можно максимум за 5 минут.

Змінено користувачем Гість
Надіслати
Поділитися на інших сайтах

В 21.02.2018 в 13:56, nexus сказал:

1. Я уже говорил где

Не нашёл такого. В базе данных всё нормально. Там править ничего не нужно было.

Папку/путь я так в истории не увидел.

В 21.02.2018 в 13:56, nexus сказал:

2. На скрине в имени сколько символов? Посчитать трудно? Если трудно, вот это в помощь echo strlen($product['name']); Этого будет достаточно чтобы не лезть в БД с бредовой идеей.

Нет конечно, но зачем считать? Смысл?

 

В любом случае, вопрос решён. Как я и говорил, одна переменная перекрывала весь вывод... и в базу лесть не нужно было.

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


6 минут назад, AV94 сказал:

Не нашёл такого. В базе данных всё нормально. Там править ничего не нужно было.

Папку/путь я так в истории не увидел.

Нет конечно, но зачем считать? Смысл?

 

В любом случае, вопрос решён. Как я и говорил, одна переменная перекрывала весь вывод... и в базу лесть не нужно было.

Ну а я что говорил?))

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

В 27.02.2018 в 16:57, nexus сказал:

Ну а я что говорил?))

 

Говорили то, что не помогло бы решить этот вопрос, а именно:

В 19.02.2018 в 20:32, nexus сказал:

название товара хранится в таблице product_description

Ограничение имени товара стоит в 255 символов, а именно в контроллере admin/controller/catalog/product.php

 

В 20.02.2018 в 19:29, nexus сказал:

Достаточно посмотреть метод validateForm()

 

if ((utf8_strlen($value['name']) < 3) || (utf8_strlen($value['name']) > 255)) {
                $this->error['name'][$language_id] = $this->language->get('error_name');
            }

 

Который означает, если имя меньше 3 символов или больше 255, будет ошибка.

Соответственно, если убрать условие на ограничение и в БД выставить TEXT, имя товара может быть огромным..

 

В 21.02.2018 в 10:07, nexus сказал:

Ладно, решу этот вопрос за денежку..

 

В 21.02.2018 в 13:56, nexus сказал:

1. Я уже говорил где

2. На скрине в имени сколько символов? Посчитать трудно? Если трудно, вот это в помощь echo strlen($product['name']); Этого будет достаточно чтобы не лезть в БД с бредовой идеей.

 

 

То есть, даже правильного направления не было. Вопрос крылся совершенно в другой папке...

 

Тему можно закрывать.

Змінено користувачем AV94
Надіслати
Поділитися на інших сайтах


  • 5 months later...

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

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

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

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

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

Вхід

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

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

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

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

Important Information

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