Поле Список варианты отображения

#1 28 июля 2021 в 17:23

Добрый день уважаемые форумчане!

Вопрос по-поводу поля Список. При просмотре записи оно показывает те же текстовые значения что и при заполнении. Хотелось бы это изменить.

Например: Есть поле «Единицы измерения»

1 | метры

2 | килограммы

...

Более (так сказать юзабилити)) было бы выводить эти поля в записи в виде: м., кг. (25 руб / кг.), но при добавлении оставить как есть. Это например. думаю не мало таких задач где было бы это полезно (не считая сокращений, склонений и словоформ)

Если записать предустановленные значения в виде

1 | метры | м.

2 | килограммы |  кг.

В таком виде они и сохраняютс в БД cms_con_ТК_fields, в записях cms_con_ТК есть только значение — первая цифра

Получается нужно только доработать обработчик вывода поля.

На форме нашёл что логика поля здесь: ..\system\fields\list.php но хоть убей не могу найти нужный код

#3 28 июля 2021 в 19:52

Посмотрите на это поле, там всё это есть:

Нифигаccе о-го-гошеньки

Из описания я не увидел что это поле способно вывести из записи в списке 2 | килограммы |  кг. -> кг. Кроме того как в дальнейшем манипулировать этим полем не понятно. Да и не хотелось бы утяжелять сайт ненужным мне функционалом

#4 28 июля 2021 в 20:08
Изображение
Изображение
Изображение
Изображение

Можно заменить всё, что угодно, на то, что нужно.

я не увидел что это поле способно

denmois

Видимо, вам это так нужно)) 

Да и не хотелось бы утяжелять сайт ненужным мне функционалом

denmois

Удачи!))

#5 28 июля 2021 в 22:53

Ну как загнать в массив два разных значения ясно

  1. public function parseListItems($string, $index_as_value = false){
  2.  
  3.  
  4. $items = array();
  5. $rows = explode("\n", trim($string));
  6. if (is_array($rows)){
  7. foreach($rows as $count=>$row){
  8. if (substr_count($row, '|') > 1){
  9. list($index, $value2, $value) = explode('|', trim($row));
  10. } else if (mb_strpos($row, '|')){
  11. list($index, $value) = explode('|', trim($row));
  12. } else {
  13. $index = $index_as_value ? $row : ($count + 1);
  14. $value = $row;
  15. }
  16. $items[trim($index)] = trim($value);
  17. }
  18. }
  19. return $items;

Но вот проблема эта и зависимая от неё getListItems используется и при выводе и при добавлении. В общем фокус не удался надо думать что-то другое

Можно заменить всё, что угодно, на то, что нужно.

Нифигаccе о-го-гошеньки

В списке записей тоже можно вывести?)

#6 28 июля 2021 в 23:26

В списке записей тоже можно вывести?

denmois

Точно так же. Вот, например, из разных полей, собран заголовок для списка записей. И в нем это поле-список тоже есть.

Изображение
Изображение
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.