Перейти к содержанию
alikxus

[Решено] Где убрать ограничения на длину названия статьи

Рекомендуемые сообщения

В блоке информация вот така фигня:

Название статьи должно быть от 3 до 64 символов!

А мне буквально не хватает пару символов, где это можно подправить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В phpmyAdmin нужно поменять тип данных

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В phpmyAdmin нужно поменять тип данных

И ногой по колесу стучал, и руль крутил :)

там varchar(64) стоял, пробовал и VARCHAR( 255 ), и на текст менял - ниче не помогает

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

mobiliti, если вы мне назовете хоть один тип данных, который может ограничить вводимые значения ОТ 3 ДО 64, то я застрелюсь!

alikxus, по адресу admin\controller\catalog\information.php примерно в 403 строке найдете такую конструкцию

foreach ($this->request->post['information_description'] as $language_id => $value) {
			if ((strlen(utf8_decode($value['title'])) < 3) || (strlen(utf8_decode($value['title'])) > 32)) {
				$this->error['title'][$language_id] = $this->language->get('error_title');
			}
		
			if (strlen(utf8_decode($value['description'])) < 3) {
				$this->error['description'][$language_id] = $this->language->get('error_description');
			}
		}
первый if - это ограничение на длину названия, а второй - на сам текст статьи.
  • +1 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

если вы мне назовете хоть один тип данных, который может ограничить вводимые значения ОТ 3 ДО 64, то я застрелюсь!

`title` varchar(64) NOT NULL DEFAULT ''
Правки кода былоб недостаточно
  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо, помогло!

не совсем понятно, почему в коде фигурирует цифра 32 а ограничение на 64 символа?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

VARCHAR (M) L+1 символов М - Максимальный размер Позволяет хранить переменные строки длиной L. Значение М - от 0 до 65535.

Примеры:

VARCHAR (3) - хранит строки максимум из 3 символов, но пустая строка '' занимает 1 байт памяти, строка 'a' - 2 байта, строк 'aa' - 3 байта, строка 'aaa' - 4 байта. Значение более 3 символов будет усечено до 3.

Я не вижу Трупа

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

VARCHAR (M) L+1 символов М - Максимальный размер Позволяет хранить переменные строки длиной L. Значение М - от 0 до 65535.

Примеры:

VARCHAR (3) - хранит строки максимум из 3 символов, но пустая строка '' занимает 1 байт памяти, строка 'a' - 2 байта, строк 'aa' - 3 байта, строка 'aaa' - 4 байта. Значение более 3 символов будет усечено до 3.

Я не вижу Трупа

))) а я по-прежнему не вижу типа данных в твоем посте, объявление которого могло бы ограничить вводимые значения не от 0, а от какого либо значения.

то, что ты написал, по смыслу звучит примерно так:

"У меня есть карандаши.

Карандаши бывают разного цвета.

Я не вижу мои плюшки."

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

`title` varchar(64) NOT NULL DEFAULT ''
Правки кода былоб недостаточно
читайте внимательно посты, было написано, что изначально у ТС было varchar(64), а теперь и вовсе varchar(255)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И что ты хочешь этим сказать что ты, увеличив значение в коде и все. Оставишь varchar(64) и у тебя будит все работать)))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

еще раз повторяю для слабовидящих: у alikxus уже прописано в phpmyadmin значение для title более чем достаточное для корректной работы.

если бы этого не было написано, то твое ехидное замечание было бы уместно.

если оставить varchar(64) - работать будет, но строки будут обрезаться без каких-либо сообщений пользователю.

Изменено пользователем EvzeNsx
  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот-вот и я об этом, если бы не было написано, но ты просил указать тип данных или ты застрелишься, EvzeNsx с суицидальными наклонностями все таки этот тип данных обризает)))

mobiliti, если вы мне назовете хоть один тип данных, который может ограничить вводимые значения ДО 64, то я застрелюсь!

alikxus, по адресу admin\controller\catalog\information.php примерно в 403 строке найдете такую конструкцию

foreach ($this->request->post['information_description'] as $language_id => $value) {
			if ((strlen(utf8_decode($value['title'])) < 3) || (strlen(utf8_decode($value['title'])) > 32)) {
				$this->error['title'][$language_id] = $this->language->get('error_title');
			}
		
			if (strlen(utf8_decode($value['description'])) < 3) {
				$this->error['description'][$language_id] = $this->language->get('error_description');
			}
		}
первый if - это ограничение на длину названия, а второй - на сам текст статьи.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот-вот и я об этом, если бы не было написано, но ты просил указать тип данных или ты застрелишься, EvzeNsx с суицидальными наклонностями все таки этот тип данных обризает)))

ГДЕ ты указал тип данных, который не только обрезает верхнюю границу, но и регулирует нижнюю?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Причем тут границы посмотри, как стояла задача. Не хватает пару символов, а что у нас делает varchar() я писал выше.

Почитай там много интересного пишут:

http://www.mysql.ru/docs/man/CHAR.html

В блоке информация вот така фигня:

Название статьи должно быть от 3 до 64 символов!

А мне буквально не хватает пару символов, где это можно подправить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ну и посмотри как ты на это ответил, лол

В phpmyAdmin нужно поменять тип данных

ты действительно считаешь, что это помогло бы?))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А ты считаешь, что если поменял в коде это и все, я вообще не пойму чего ты до сих пор ещё жив, или ты ждешь чтоб, тебе подали револьвер)))))))))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

было ограничение от 3 до 32

человеку не хватало 3 +- пару символов

в БД ограничение 64 символа

Вопрос: что нужно сделать чтоб человеку можно было добавить несколько символов к названию?

Верный ответ: изменить тут

if ((strlen(utf8_decode($value['title'])) < 3) || (strlen(utf8_decode($value['title'])) > 32)) {
        $this->error['title'][$language_id] = $this->language->get('error_title');
}

Вопрос: что нужно сделать чтоб можно было использовать название статьи более 64 символов?

Ответ: тоже самое что и предыдущий ответ + изменить разрядность поля в БД

Отсюда следует mobiliti не прав, так как одним изменением БД тут не отделаться =)

В этом споре побеждает EvzeNsx

ГИП ГИП УРА!!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тут я не согласен, просили указать тип данных, который обрезает длину, я указал, со стороны EvzeNsx изменениями одного кода тоже не обойдешься. А что код менять надо, тут спору нет.

было ограничение от 3 до 32

человеку не хватало 3 +- пару символов

в БД ограничение 64 символа

Вопрос: что нужно сделать чтоб человеку можно было добавить несколько символов к названию?

Верный ответ: изменить тут

if ((strlen(utf8_decode($value['title'])) < 3) || (strlen(utf8_decode($value['title'])) > 32)) {
        $this->error['title'][$language_id] = $this->language->get('error_title');
}

Вопрос: что нужно сделать чтоб можно было использовать название статьи более 64 символов?

Ответ: тоже самое что и предыдущий ответ + изменить разрядность поля в БД

Отсюда следует mobiliti не прав, так как одним изменением БД тут не отделаться =)

В этом споре побеждает EvzeNsx

ГИП ГИП УРА!!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Чтобы решить проблему как у ТС, нужно проводить изменения и в коде, и в БД. Но т.к. изменения в БД уже были сделаны на момент описания проблемы, то осталось провести изменения только в коде - теперь понял, или снова что-то не ясно?

Насчет моего обещания - нет ни одного типа данных, который мог бы задать вводимые значения от числа, не равного нулю, до любого другого числа. Конец спора, учи матчасть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проблема та же. Проделал все что здесь писалось, но не помогло. Может есть у кого какие-то соображения?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.