|
|
25.05.2008, 20:04
|
|
Woodpecker
Зарегистрирован: 2008-05-25
Сообщений: 4
|
Здравствуйте. При редактировании страницы готового сайта текст не сохраняется полностью. Его обрезает примерно на 60 тысячах символов, считая пробелы.
В форме присутствуют поля
name Заголовок
anons Анонс
text Полный текст
Поле текст имеет тип Текстовый блок с форматом 10:60 (я вычитал, что это число строк и столбцов)
В Альтернативной форме изменения объекта есть такой кусок кода:
Код:".nc_string_field("name", "maxlength='255' size='50'", $classID, 1)."<br>
<br>
".nc_text_field("anons", "", $classID, 1)."<br>
<br>
".nc_text_field("text", "", $classID, 1)."<br>
<br>
".nc_bool_field("new", "", $classID, 1)."<br>
<br>
Я пытался добавить между кавычками для поля text кусок maxlength='65535' size='50', доводил 65535 до 4 миллиардов(64к в квадрате). Безрезультатно.
В другой теме писали, что максимальный размер текстового поля должен быть как раз около 4 миллиардов. Есть ли возможность заставить в моем случае принимать бОльший размер текста, или придется шаманить с разбиением на страницы?
Заранее спасибо за подсказку.
|
|
|
25.05.2008, 20:47
|
|
Woodpecker
Зарегистрирован: 2008-05-25
Сообщений: 4
|
Ответ найден в Руководстве разработчика:
Текстовой блок – мемо-поле (для ввода будет использован элемент
формы <textarea>), может содержать 64 кб текста.
Неутешительно ((... Может есть альтернативы? Когда вставляешь сложную таблицу, теги забирают столько места, что собственно материала остается ну совсем мало.
|
|
|
26.05.2008, 07:16
|
|
pe3udent
Артур Юсупов
Зарегистрирован: 2008-04-03
Сообщений: 220
|
Измените тип поля таблицы на более длинный.
|
|
|
26.05.2008, 13:16
|
|
ktotoff
АльтерЛан
Зарегистрирован: 2006-12-19
Сообщений: 339
|
Кстати, он там по дефолту LONGTEXT, что должно предполагать хранение довольно впечатляющего объёма данные. На лонгблоб чтоли менять?
...жизнь прекрасна, когда правильно подобраны антидепрессанты...
|
|
|
26.05.2008, 13:59
|
|
pe3udent
Артур Юсупов
Зарегистрирован: 2008-04-03
Сообщений: 220
|
Kraeved писал(а):Кстати, он там по дефолту LONGTEXT
При создании поля типа "Текстовый блок" его тип по дефолту - TEXT, поэтому текст обрезается на 65535 символах.
Чтобы иметь возможность добавлять большие объемы данных, измените тип поля на MEDIUMTEXT или LONGTEXT.
|
|
|
26.05.2008, 19:31
|
|
ktotoff
АльтерЛан
Зарегистрирован: 2006-12-19
Сообщений: 339
|
Да, действительно, сейчас посмотрел - TEXT по дефолту.
До этого смотрел в свой компонент. Наверное, поменял по привычке да и забыл...
...жизнь прекрасна, когда правильно подобраны антидепрессанты...
|
|
|
27.05.2008, 17:44
|
|
Woodpecker
Зарегистрирован: 2008-05-25
Сообщений: 4
|
Спасибо вам за ответы. Мысль понятна, буду продолжать рыть. Но пока есть сложности. Временно обошелся тем, что в компонент добавил еще одно текстовое поле, и соответственно дописал коды добавления и изменения объекта. Появилось 2-е окно, куда можно дописывать не вмещающийся текст.
Проблемы же в том, что при задании типа поля есть выпадающий список только с такими значениями:
1. Строка
2. Целое число
3. Текстовый блок
4. Список
5. Логическая переменная
6. Файл
7. Число с плавающей запятой
8. Дата и время
9. Связь с другим объектом
Выбран вариант 3. Текстовый блок.
Это я правлю в соответствующем "Компоненте". Где найти в админке дополнительные типы полей - не знаю.
С горя аккуратно полез через PHPMyAdmin в базу на сервере. Сижу, изучаю. Нужную текстовую переменную в таблице Field нашел, у нее поле TypeOfData_ID имеет значение 3 (хм... совпадение?) Из любопытства поставил Строку, тип поля в админке изменился, форма перестала добавляться с ошибкой SQL. Вернул назад, исправилось. Похоже, это оно. Остается теперь найти числовой код, соответствующий нужному мне формату (типа LongText или BLOB - видел их где-то в недрах таблиц, пока повторно не нашел )
Я правильно рою? Познания в SQL многолетние, но неглубокие, я непрофессионал ((.
Еще раз спасибо за соучастие.
Кстати P.S. Система управления сайтами NetCat Extra версия 3.1.
Обновление NetCat версии 3.0 Extra до версии 3.01 Extra
Обновление NetCat версии 3.01 Extra до версии 3.1 Extra
Не установлено обновление #311 (скачать)
|
|
|
27.05.2008, 18:17
|
|
ktotoff
АльтерЛан
Зарегистрирован: 2006-12-19
Сообщений: 339
|
Нет, что вы!
В PMA заходите в таблицу MessageXX, где XX - номер вашего компонента.
Закладка "Структура". Смотрите в таблицу, в столбец "Поле". Находите имя поля, используемое в компоненте. Допустим, FullText. Во втором столбце "Тип" и указан его тип. Вероятнее всего там написано TEXT. Меняете на LONGTEXT и вуа-ля
ЗЫ. А там где до этого меняли - сделайте как было.
...жизнь прекрасна, когда правильно подобраны антидепрессанты...
|
|
|
27.05.2008, 18:33
|
|
Woodpecker
Зарегистрирован: 2008-05-25
Сообщений: 4
|
Получмлось! Тест влезает )) Господи, до чего же хорошо на душе стало! Земной вам поклон...
|
|
|
29.05.2008, 09:44
|
|
Ged
Зарегистрирован: 2008-03-12
Сообщений: 23
|
Kraeved писал(а):Нет, что вы!
В PMA заходите в таблицу MessageXX, где XX - номер вашего компонента.
Закладка "Структура". Смотрите в таблицу, в столбец "Поле". Находите имя поля, используемое в компоненте. Допустим, FullText. Во втором столбце "Тип" и указан его тип. Вероятнее всего там написано TEXT. Меняете на LONGTEXT и вуа-ля
ЗЫ. А там где до этого меняли - сделайте как было.
А можно по-подробнее для тех, кто в танке? Что такое РМА? Я в инструментах сделал запрос в MySQL EXPLAIN Message9, для поля $f_FormatHTML там действительно стоит тип text. Как изменить, что-то я не понял.
Ged
|
|
|
29.05.2008, 12:58
|
|
pe3udent
Артур Юсупов
Зарегистрирован: 2008-04-03
Сообщений: 220
|
PMA - phpmyadmin
находите нужную таблицу -> структура -> находите нужное поле и меняете его тип
|