Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Sign Up

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


Recommended Posts

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

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

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

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

Снимок.JPG

Edited by AV94
Link to post
Share on other sites

Guest

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

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

 

Edited by Guest
Link to post
Share on other sites
4 часа назад, nexus сказал:

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

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

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

product['name'],
Link to post
Share on other sites

Guest
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, имя товара может быть огромным..

Link to post
Share on other sites
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()" - можете по подробней про этот метод рассказать? Прописать то, что вы написали выше в том месте где выводится название товара в корзине для проверки?

Link to post
Share on other sites

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

 

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

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


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

Link to post
Share on other sites
1 час назад, nexus сказал:

 

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

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

Снимок.JPG

Link to post
Share on other sites

Guest

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

Link to post
Share on other sites
11 часов назад, nexus сказал:

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

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

Link to post
Share on other sites

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

             

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

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

Link to post
Share on other sites

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

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

             


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

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

 

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

 

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

Link to post
Share on other sites
3 часа назад, nexus сказал:

 

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

 

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

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

Link to post
Share on other sites

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

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

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

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

 

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

Edited by Guest
Link to post
Share on other sites
В 21.02.2018 в 13:56, nexus сказал:

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

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

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

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

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

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

 

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

Link to post
Share on other sites

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

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

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

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

 

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

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

Link to post
Share on other sites
В 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']); Этого будет достаточно чтобы не лезть в БД с бредовой идеей.

 

 

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

 

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

Edited by AV94
Link to post
Share on other sites

  • 5 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.