Серый

Серый

С нами с 17 марта 2016; Место в рейтинге пользователей: #182
Серый
05 марта 2021, 12:08
0
Допускаю, что нет решения, но возможен изящный костыль.
Сам по себе путь к MIGX ResourceMediaPath строится относительно именно текущего ID
[[!migxResourceMediaPath? &pathTpl=`resourceimages/{id}/` &createFolder=`1`]]
Соответственно, если бы как-то можно было из tv.image выделить только имя файла, может как-то типа [[+tv.image:givemeyourname]], то тогда можно было бы для pdoResources построить конструкцию для чанка типа
<img src="resourceimages/[[+id]]/[[+tv.image:givemeyourname]]">
Гуглю, пытаюсь найти как вычленить из tv.image только имя, без переключения параметров самого TV в «Текст», ибо хочется иметь более универсальные TV, пока не могу найти((
Серый
10 ноября 2020, 19:47
+5
Василий, спасибо за то что ты сделал, это титанический вклад в развитие MODX, и особенно его русского сегмента. Если бы не это всё, я бы никогда не смог стать вебдевом. Именно modx.pro и pdoTools стали тем инструментом, который лег в руку и позволил реализовывать задуманное. Ну, конечно еще MIGX, но ты, Бруно и Жако — это те прометеи, которых я всякий раз мысленно благодарю, когда работаю с MODX.
Здоровья и вдохновения!
Серый
02 ноября 2020, 09:55
0
Добрый день, с радостью!)
Вот конфигурация MIGX (я в JSON её писать еще не научился, поэтому тыкаю вкладочки):
{
  "formtabs":[
    {
      "MIGX_id":1,
      "caption":"Main",
      "print_before_tabs":"0",
      "fields":[
        {
          "MIGX_id":6,
          "field":"price",
          "caption":"\u0426\u0435\u043d\u0430",
          "description":"",
          "description_is_code":"0",
          "inputTV":"",
          "inputTVtype":"",
          "validation":"",
          "configs":"",
          "restrictive_condition":"",
          "display":"",
          "sourceFrom":"config",
          "sources":"",
          "inputOptionValues":"",
          "default":"",
          "useDefaultIfEmpty":"0",
          "pos":1
        },
        {
          "MIGX_id":7,
          "field":"description",
          "caption":"\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435",
          "description":"",
          "description_is_code":"0",
          "inputTV":"",
          "inputTVtype":"",
          "validation":"",
          "configs":"",
          "restrictive_condition":"",
          "display":"",
          "sourceFrom":"config",
          "sources":"",
          "inputOptionValues":"",
          "default":"",
          "useDefaultIfEmpty":"0",
          "pos":2
        },
        {
          "MIGX_id":8,
          "field":"doctors",
          "caption":"\u0421\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u044b",
          "description":"",
          "description_is_code":"0",
          "inputTV":"doctorsList",
          "inputTVtype":"",
          "validation":"",
          "configs":"",
          "restrictive_condition":"",
          "display":"",
          "sourceFrom":"config",
          "sources":"",
          "inputOptionValues":"",
          "default":"",
          "useDefaultIfEmpty":"0",
          "pos":3
        },
        {
          "MIGX_id":9,
          "field":"type",
          "caption":"\u041d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f",
          "description":"",
          "description_is_code":"0",
          "inputTV":"serviceType",
          "inputTVtype":"",
          "validation":"",
          "configs":"",
          "restrictive_condition":"",
          "display":"",
          "sourceFrom":"config",
          "sources":"",
          "inputOptionValues":"",
          "default":"",
          "useDefaultIfEmpty":"0",
          "pos":4
        }
      ],
      "pos":1
    }
  ],
  "contextmenus":"",
  "actionbuttons":"",
  "columnbuttons":"",
  "filters":"",
  "extended":{
    "migx_add":"\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0443\u0441\u043b\u0443\u0433\u0443",
    "disable_add_item":"",
    "add_items_directly":"",
    "formcaption":"",
    "update_win_title":"",
    "win_id":"",
    "maxRecords":"",
    "addNewItemAt":"bottom",
    "media_source_id":"",
    "multiple_formtabs":"",
    "multiple_formtabs_label":"",
    "multiple_formtabs_field":"",
    "multiple_formtabs_optionstext":"",
    "multiple_formtabs_optionsvalue":"",
    "actionbuttonsperrow":4,
    "winbuttonslist":"",
    "extrahandlers":"",
    "filtersperrow":4,
    "packageName":"",
    "classname":"",
    "task":"",
    "getlistsort":"",
    "getlistsortdir":"",
    "sortconfig":"",
    "gridpagesize":"",
    "use_custom_prefix":"0",
    "prefix":"",
    "grid":"",
    "gridload_mode":1,
    "check_resid":1,
    "check_resid_TV":"",
    "join_alias":"",
    "has_jointable":"yes",
    "getlistwhere":"",
    "joins":"",
    "hooksnippets":"",
    "cmpmaincaption":"",
    "cmptabcaption":"",
    "cmptabdescription":"",
    "cmptabcontroller":"",
    "winbuttons":"",
    "onsubmitsuccess":"",
    "submitparams":""
  },
  "columns":[
    {
      "MIGX_id":1,
      "header":"\u0426\u0435\u043d\u0430",
      "dataIndex":"price",
      "width":10,
      "sortable":"false",
      "show_in_grid":1,
      "customrenderer":"",
      "renderer":"",
      "clickaction":"",
      "selectorconfig":"",
      "renderchunktpl":"",
      "renderoptions":"",
      "editor":"this.textEditor"
    },
    {
      "MIGX_id":2,
      "header":"\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435",
      "dataIndex":"description",
      "width":50,
      "sortable":"false",
      "show_in_grid":1,
      "customrenderer":"",
      "renderer":"",
      "clickaction":"",
      "selectorconfig":"",
      "renderchunktpl":"",
      "renderoptions":"",
      "editor":""
    },
    {
      "MIGX_id":3,
      "header":"Doctors ",
      "dataIndex":"doctorsList",
      "width":20,
      "sortable":"false",
      "show_in_grid":1,
      "customrenderer":"",
      "renderer":"this.renderChunk",
      "clickaction":"",
      "selectorconfig":"",
      "renderchunktpl":"",
      "renderoptions":[
        {
          "MIGX_id":1,
          "name":"doctorsListTpl",
          "use_as_fallback":"",
          "value":"",
          "clickaction":"",
          "handler":"",
          "image":""
        }
      ],
      "editor":"this.textEditor"
    },
    {
      "MIGX_id":4,
      "header":"\u041d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f",
      "dataIndex":"type_list",
      "width":30,
      "sortable":"false",
      "show_in_grid":1,
      "customrenderer":"",
      "renderer":"this.renderChunk",
      "clickaction":"",
      "selectorconfig":"",
      "renderchunktpl":"[[migxLoopCollection? \n&classname=`modResource`\n&where=`{\"id:IN\":[ [[+type]] ]}`\n&tpl=`@CODE:[[+pagetitle]]<br \/>`\n]]",
      "renderoptions":"",
      "editor":"this.textEditor"
    },
    {
      "MIGX_id":5,
      "header":"Doctors IDs",
      "dataIndex":"doctors",
      "width":"",
      "sortable":"false",
      "show_in_grid":1,
      "customrenderer":"",
      "renderer":"",
      "clickaction":"",
      "selectorconfig":"",
      "renderchunktpl":"",
      "renderoptions":"",
      "editor":""
    }
  ],
  "category":""
}
doctorsListTpl:
[[!pdoResources?
&parents=`2`
&resources=`[[+doctors]]`
&tpl=`@INLINE [[+doctors]]`
]]
Серый
23 октября 2020, 15:51
0
UPD: Проблема в том, что у меня не получается вывести в соседнюю колонку список выбранных через мультиселект ресурсов в другой0. Если создать колонку с тем же именем, что и поле во вкладке, туда список через запятую выводится. Но если попытаться замутить список pagetitle через любимое pdoTools, в соседнем столбце, то в случае, когда выбран один элемент в мультиселекте, всё работает ОК, но если выбрать более одного, то в одноименной колонке будет нормальный список через запятую, а в колонке, в которой этот список через плейсхолдер должен давать идентичный (вроде бы) перечень ресурсов через запятую, но там пустота. Открываем вкладку, удаляем в мультиселекте все кроме одного — вуаля! всё работает, айдишник выбранного отдается и преобразовывается в pagetitle.
Памагитии…
Серый
08 октября 2020, 23:21
0
Вот такую штуку использую, для вывода pagetitle айдишников из графы doctors, без этого сниппета нормальное перечисление через запятю, а с ним, тупо всех или только одного((
[[!pdoResources?
&parents=`2`
&resources=`[[+doctors]]`
&tpl=`@INLINE [[+pagetitle]]
`
]]
Серый
08 октября 2020, 23:11
0
Возможно проблема была в том, что выбрано несколько? У меня одн выводит ОК, а вот несколько — пустота… Вам удалось разобраться?
Серый
08 октября 2020, 22:49
0
Добрый день! Штука работает, но только в случае выбора одного элемента из списка. А если там мультивыбор? Я пытаюсь замутить через pdoResourses, но там тоже грабли: либо одного выводит, либо вообще все ресурсы из возможных, хотя выбрано только два((
Серый
29 января 2020, 20:29
0
Это было как узнать про IDKFA )))
Там еще и
&sortdir=`DESC`
работает. Фантастиш! Спасибо большое!
Серый
29 ноября 2019, 14:08
+1
Уже давно мучаюсь с вопросом — как в стандартный пакет в настройках запихать свои стили? Например очень нужен small, ну и вообще свои штуки. Ни в заголовки, ни в строчные, ну никуда не могу ничего вклинить(((
Например setting_tinymcerte.headers_format:
[{"title": "Header 2", "format": "h2"},
 {"title": "Header 3", "format": "h3"},
 {"title": "Header 4", "format": "h4"},
 {"title": "Header 5", "format": "h5"},
 {"title": "Header 6", "format": "h6"},
 {"title": "Pre", "format": "pre"}
]
Вообще ноль внимания, все перфекционицепцы уже извелись((
Серый
29 ноября 2019, 12:18
0
Какая же у нас с вами конфетка получилась, товарищ!!!
Большое вам человеческое!
Серый
29 ноября 2019, 10:05
0
Красота-то какая!!!
А если надо какое-то TV туда? Я честно тыкался с точкой и нижним пробелом, ничего не вышло((
'tv.simpleText' => $res->get('tv_simpleText'),
Серый
28 ноября 2019, 14:24
0
Извиняюсь, я просто не заметил, либо вы чуть позже приписали, а я резко метнулся, как письмо на почту упало)))
Что-то ничего не выводится, наверное где-то неточность. Я даже в обезьяну с гранатой поиграл, попытался скобки в разные места повставлять: там две открылось и не закрылось…
<?php
$arr = explode(',', $value);
foreach($arr as $id){
    if(!$res = $modx->getObject('modResource', $id)) continue;
    $out .= $modx->getChunk('collection_item', array(
        'pagetitle' => $res->get('pagetitle'),
        'longtitle' => $res->get('longtitle')
}
return $out;
Вот эти вроде как не закрылись
('collection_item', array(
Серый
28 ноября 2019, 10:48
0
Спасибо огромное! Я даже разобрался методом тыка как сделать что б каждый ресурс был отдельной строкой, но для полного счастья не хватает возможности завернуть всё вот в такую конструкцию:
<p><b>'pagetitle'</b> - <i>'longtitle'</i></p>
Даже гуглил как это всё в php изолировать, но не смог одолеть((
Серый
28 ноября 2019, 10:18
0
Конечно!)) Вывод TV — Разделитель — запятая. Спасибо
Серый
28 ноября 2019, 10:05
0
Но у меня там несколько ID, а выводится pagetitle только первого. И хочется что б вывелось и longtitle тоже…
Серый
28 ноября 2019, 09:31
0
Чертовщина какая-то… Что я могу не так делать? Вот даже нашел уже другой код решающий эту же задачу:
<?php
$value = $modx->getOption('value', $scriptProperties, '');
$res = $modx->getObject('modResource',$value);
$output = $res->get('pagetitle');
return $output;
Всё равно ID выводит… Что я могу делать не так?
Серый
27 ноября 2019, 21:00
0
И, кстати, там значение — может быть несколько ID! Хорошо бы какую-то оберточку, или хотя бы
</br>, <b>, <i>
Серый
27 ноября 2019, 20:16
0
Не работает(( Может надо где-то еще указать что в качестве рендера снипет брать?
А как туда еще другие поля добавлять?
return $res->get('pagetitle', 'longtitle');
Так?
Серый
17 октября 2019, 10:56
0
Попытался вставить это и так и не понял, а куда это вставлять? Наугад потыкался, так и остался с тегом(