Не устанавливается Prestashop 1.7.x (psgdpr)

Хочу рассказать о баге, при установке Prestashop 1.7.6.7 — 1.7.7.3:
psgdpr1: Невозможно установить модуль «psgdpr»,Длина свойства Tab->name составляет 70 симв. Должно быть между 0 и 64 симв.
Как видим, ошибка происходит из-за длинной строчки в переводе модуля psgdpr (больше 64 символов). Разработчики Prestashop знают об этой проблеме, но не спешат ее решать, так как ошибка возникает только при установке русской версии Prestashop.

psgdpr1: Невозможно установить модуль "psgdpr",Длина свойства Tab->name составляет 70 симв. Должно быть между 0 и 64 симв.
psgdpr1: Невозможно установить модуль «psgdpr»,Длина свойства Tab->name составляет 70 симв. Должно быть между 0 и 64 симв.

Решается все довольно просто, когда дошли до этой ошибки:

  1. открываем в редакторе файлик локализации /modules/psgdpr/translations/ru.php
  2. меняем в нем строчку «Соответствие Общему регламенту ЕС по защите персональных данных (GDPR)» на что-нибудь покороче типа «Соответствие регламенту ЕС по защите персональных данных (GDPR)».
  3. ставим этому файлу права только чтение или chmod 444
  4. запускаем установку заново — кликнув по красной ссылке на сайте — кликнув здесь.
  5. после установки, ставим права на запись или 644

Я наловчился прямо при установке открывать этот файл и менять строку «на лету», в процессе установки.

Комментарии 2

  • Один из вариантов решения проблемы — в установочном архиве, перед установкой изменить 2 файла:

    1. install\upgrade\sql\1.6.0.3.sql

    7 строка:

    ALTER TABLE PREFIX_tab_lang CHANGE name name VARCHAR(64) DEFAULT NULL;
    заменить 64 на 512

    2. \classes\Tab.php

    73 строка:

    ‘name’ => array(‘type’ => self::TYPE_STRING, ‘lang’ => true, ‘required’ => true, ‘validate’ => ‘isTabName’, ‘size’ => 64),
    заменить 64 на 512

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Яндекс.Метрика