"Максимальная длина для этого поля 255"

Доброго всем!

Где можно поменять?
«Максимальная длина для этого поля 255»
Кто знает где задается?

Причина возникновения вопроса — написание комментариев к полям в админке, заполняемым менеджерами.
Например, как на картинке:

Хочется написать (или заменить-поправить стандартные описания) так, чтобы не возникало дополнительных вопросов у менеджеров. Приходится извращаться с сокращениями итд.
255 — мало, но больше 500 и не надо.
Нашел только в словаре ext_maxlenfield (для описания TV полей), но изменение параметра где-то подразумевается, видимо, так как стоит «Максимальная длина для этого поля {0}»
И будет ли это влиять на длину полей, которые доступны для заполнения?
Олег
11 октября 2017, 10:47
modx.pro
3 928
0

Комментарии: 12

Владислав
11 октября 2017, 17:07
0
Ограничение стоит в бд.
Нужно подкорректировать таблицу:


Далее создать плагин, который перезапишет модель:
<?php
switch ($modx->event->name) {

	case 'OnMODXInit':
		$modx->loadClass('modTemplateVar');
		$modx->map['modTemplateVar']['fields']['description'] = 0;
		$modx->map['modTemplateVar']['fieldMeta']['description'] = array(
			'dbtype' => 'mediumtext',
			'precision' => 500,
			'phptype' => 'string',
			'null' => false,
			'default' => '',
		);
		break;
}
И в скриптах изменить ограничивающее значение:


Но при обновлении modx все слетит =)
    Олег
    11 октября 2017, 17:30
    0
    Владислав, спасибо за ответ.
    Я правильно понимаю, что параметр отвечает за длину только полей описаний ('modx_tv_description')?
    Расхотелось, из-за «после обновления всё слетит», чего и следовало ожидать.
    Может разработчикам пожелание написать?
      Владислав
      11 октября 2017, 18:10
      +1
      можно не редактировать js файл а создать еще плагин который перепишет родной скрипт:
      <?php
      switch ($modx->event->name) {
      
      	case 'OnTVFormPrerender':
      		$modx->controller->addHtml("
                      <script type='text/javascript'>
                          Ext.ComponentMgr.onAvailable('modx-tv-description', function(){this.maxLength = 500});
                      </script>
                  ");
              
              break;
      }
      И тогда по идее все будет работать и при обновлении
        Олег
        13 октября 2017, 14:26
        0
        Спасибо. Воспользуюсь, если не получится с лексиконом сделать.
      Волков Николай
      11 октября 2017, 17:36
      0
      Хорошие менеджеры знают, что «Краткость — сестра таланта».
        Олег
        11 октября 2017, 19:51
        0
        Поиск хороших менеджеров — прерогатива начальства, которое, обычно, не горит желанием платить нормальные зарплаты. ))
      Василий Наумкин
      11 октября 2017, 18:56
      +1
      А не лучше ли поменять соответствующие лексиконы, чтобы подсказки показывались сразу при наведении на окошко? Они ведь для того и нужны — подсказки.

      Вот так по умолчанию

      Можно это легко заменить.
        Олег
        11 октября 2017, 22:41
        -1
        Спасибо.
        Да, для уже созданных это сделать легко.
        А не подскажете, как это сделать для дополнительных полей (картинка в топике).
        В словарях, по умолчанию, для них нет лексиконов. Гугл, к сожалению, не помог.
        Попытки создать «по подобию» ни к чему не привели.
          Василий Наумкин
          12 октября 2017, 00:19
          0
          Ну так у каждого ТВ параметра своё описание. Зачем туда всё подряд писать?
            Олег
            12 октября 2017, 00:54
            -1
            Василий, я наверное туплю или может быть вопрос некорректно задал.
            Можно заполнить описание в поле «Описание» при создании tv поля (не более 255 символов).
            Вероятно, по вашему предложению, это можно сделать через лексиконы (более 255 символов).
            Две картинки:
            1)

            2)
            Вот, для таких полей описание можно сделать двумя способами — правильно понимаю?
            Так.
            Теперь, для того, чтобы превысить 255 символов, Вы предложили использовать лексикон — это хорошее решение вопроса для меня, если оно не затрагивает код, который будет заменен при обновлениях.
            Вот и спрашиваю, как можно создать описание для таких tv полей через словарь? Для стандартных полей они уже существуют и поменять их труда не составляет.
            Я не совсем понял Ваш ответ про индивидуальные описания для каждого TV и про все подряд.
            Стоит задача — сформировать описания предельно возможной ясности для менеджеров «блондинок». ))
            Сейчас, наверное, таким я представляюсь здесь для Вас. ))
              Василий Наумкин
              12 октября 2017, 01:04
              0
              У тебя на картинке в посте написано что-то, не имеющее отношения к этому ТВ параметру. Зачем в описании ТВ параметра ты пишешь инструкцию про longtitle и что-то там еще? Зачем ты пишешь, что нельзя вводить — раз нельзя, то и ввести не получится. А если можно ввести, то нужно фильтровать при сохранении или выводе.

              Пиши только информацию по заполнению конкретно этого параметра, типа «Позволяет переопределить заголовок документа», и всё. А в лексиконе longtitle нужно писать, что «это заголовок документа по умолчанию, его можно переопределить из ТВ параметра title». И тогда юзер будет видеть описание каждого поля при наведении мышкой — и понимать, что в нём писать и как это работает.

              Или теперь я уже что-то не понимаю?
                Олег
                12 октября 2017, 02:18
                -1
                Скорее я неправильно поясняю.
                Инструкцию про longtitle и проч. пишу в описании для того, чтобы не пояснять каждому заполняющему что такое title, из чего он состоит по умолчанию и почему его надо менять. Кроме того, наличие в описании состава тега, как он прописан по умолчанию, вероятно поможет такому менеджеру вернуться к этому «по умолчанию». Поэтому и не считаю, что такое описание будет «не имеющее отношения к этому ТВ параметру». Про «нельзя» написал только потому, что не получается пока написать правила для вывода (Проверка регулярного выражения?). То, что пишу — не работает. Надо просто )) запретить такие символы — поможете?

                «А в лексиконе longtitle...» — для этих полей все подсказки меняются запросто, но то, что его можно будет переопределить в доп.поле будет неверно! Переопределить в дополнительном поле можно будет не longtitle, а состав тега title и только с целью изменить название страницы.

                Например, "'Купить хороший товар' — 'название сайта'".

                А longtitle используется не только в title, а еще и при выводе товарной карточки + вывод в корзину итд. И если его переопределить, то, к примеру, longtitle «Купить хороший товар» будет показываться и в карточке товара, как расширенное его название!

                Мне кажется, что мы плавно перешли с темы топика (возможно и обоснованно из-за неправильно сформулированного вопроса) на тему: «Для чего это надо?» ))

                PS. Кстати, при расширении окна набора текста здесь есть некоторая некорректность — картинка
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        12