Автор Тема: Property Product->link_rewrite length (138) must be between 0 and 128  (Прочитано 783 раз)

23 Июнь 2020, 16:31:07
  • Фрилансер
  • *
  • Сообщений: 133
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
При загрузке товара выдаует ошибку Property Product->link_rewrite length (138) must be between 0 and 128. После того, как я уменьшила название товара и ЧПУ все равно выдает такую ошибку по тем же товарам, хотя есть товары, у которых длиннее название и ЧПУ, но они загружаются без проблем. Что можно сделать в такой ситуации, чтобы все-таки массово загружать, а не по одному товару?
23 Июнь 2020, 16:44:44
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 22125
  • Репутация: +25303/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
Увеличить размер можно
1. В классе Product.php
link_rewrite  ...
name ...
2. В таблице ps_product_lang
name varchar(...)
link_rewrite varchar(...)

Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
23 Июнь 2020, 19:01:48
Ответ #2
  • Фрилансер
  • *
  • Сообщений: 133
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Увеличить размер можно
1. В классе Product.php
link_rewrite  ...
name ...
2. В таблице ps_product_lang
name varchar(...)
link_rewrite varchar(...)

А как найти эти файлы? Где они лежат? Я не программист, поэтому не пойму по какому мне идти пути, чтобы их открыть, например, через FileZilla? Подскажите порядок действий.
23 Июнь 2020, 20:59:45
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 22125
  • Репутация: +25303/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
В папке /classes/ и в базе данных.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
24 Июнь 2020, 12:49:20
Ответ #4
  • Фрилансер
  • *
  • Сообщений: 133
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В папке /classes/ и в базе данных.


Спасибо за помощь. Я нашла файл product.php, но там нет link_rewrite varchar(128) и нет name varchar(128) (Этот файл я прикрепила). Есть только link_rewrite  и name. Я не вижу ничего такого, чтобы можно было указать количество символов. Как тогда поступить?

Еще я зашла в ps_product_lang и нашла name varchar(128), а также link_rewrite varchar(128) https://prnt.sc/t5hc4l , но я не понимаю как отредактировать 128 на 255 и сохранить. Как это сделать? Еще я так поняла, что я смогу отредактировать это значение для тех товаров, которые уже загружены, а как сделать, чтобы это относилось и к тем товарам, что не загружаются тоже не могу понять? Подскажите ккак и что сделать? 
24 Июнь 2020, 18:02:08
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
/classes/Product.php
'fields' => array(
          'link_rewrite' =>    array(
                'type' => self::TYPE_STRING,
                'lang' => true,
                'validate' => 'isLinkRewrite',
                'required' => true,
                'size' => 128,
                'ws_modifier' => array(
                    'http_method' => WebserviceRequest::HTTP_POST,
                    'modifier' => 'modifierWsLinkRewrite'
                )
            ),
           'name' => array('type' => self::TYPE_STRING, 'lang' => true, 'validate' => 'isCatalogName', 'required' => true, 'size' => 128),
меняете
 'size' => 128,
на
 'size' => 256,
24 Июнь 2020, 18:23:47
Ответ #6
  • Ветеран
  • *****
  • Сообщений: 22125
  • Репутация: +25303/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
varchar(128)  - это в базе данных в таблице ps_product_lang
В файле Product.php   'size' => 128
Менять нужно число 128 на большее 256,512...
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
25 Июнь 2020, 12:06:37
Ответ #7
  • Фрилансер
  • *
  • Сообщений: 133
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
varchar(128)  - это в базе данных в таблице ps_product_lang
В файле Product.php   'size' => 128
Менять нужно число 128 на большее 256,512...

Я нашла varchar(128) в базе данных в таблице ps_product_lang, но как там отредактировать число ? Двойной щелчок на цифре не дает возможность отредактировать. Как сделать само редактирование в этой таблице? Я никогда там не была-это первый раз. На что нажать, чтобы была возможность изменить 128 на др число?
25 Июнь 2020, 12:19:01
Ответ #8
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Вы как с базой работаете в phpmyadmin?
25 Июнь 2020, 13:02:56
Ответ #9
  • Фрилансер
  • *
  • Сообщений: 133
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Вы как с базой работаете в phpmyadmin?

Я захожу в сpanel, потом в phpmyadmin https://prnt.sc/t665q2  , а там уже нахожу таблицу ps_product_lang и открываю ее, а здесь https://prnt.sc/t66bc2 уже не знаю как отредактировать 128 на др число.
25 Июнь 2020, 15:38:38
Ответ #10
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Открываете таблицу, переходите в Структра, выбираете поле и нажимаете кнопку Редактировать.
Если у вас нет кнопки Редактировать, то хостер не предоставляет таких услуг.
26 Июнь 2020, 12:17:49
Ответ #11
  • Фрилансер
  • *
  • Сообщений: 133
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Спасибо большое всем за помощь. Все получилось!