Антон

Антон

Был в сети 10 марта 2025, 23:36
Заказы не принимаю
Привязываю к tickets для загрузки и последующего редактирования того, что загрузил через фронт.
Вызов стандартный
[[!ufForm?
   &tplForm=`uf.form`
   &list=`image`
   &anonym=`0`
   &dropzone=`{"maxFilesize":3,"maxFiles":3,"acceptedFiles":".jpg, .jpeg, .gif, .png","template":"edit"}`
]]
в тиккетс в &allowedFields добавил ufForm, вместо загрузки файлов выводит текст:

Drop files here or click to upload
Select files
Делаю также мультизагрузку через MIGX и ImagePlus. Одиночная загрузка работает, вопросов нет. В мультизагрузке не отображаются превью изображений в админке. Конфигурация MIGX выглядит таким образом:
{
  "formtabs":[
    {
      "MIGX_id":3,
      "caption":"bscarousel",
      "print_before_tabs":"0",
      "fields":[
        {
          "MIGX_id":6,
          "field":"slide",
          "caption":"\u0418\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435",
          "description":"",
          "description_is_code":"0",
          "inputTV":"",
          "inputTVtype":"imageplus",
          "validation":"",
          "configs":"",
          "restrictive_condition":"",
          "display":"",
          "sourceFrom":"migx",
          "sources":[
            {
              "MIGX_id":2,
              "context":"web",
              "sourceid":4
            }
          ],
          "inputOptionValues":"",
          "default":"",
          "useDefaultIfEmpty":"0",
          "pos":1
        }
      ],
      "pos":1
    }
  ],
  "contextmenus":"",
  "actionbuttons":"uploadfiles",
  "columnbuttons":"",
  "filters":"",
  "extended":{
    "migx_add":"\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0444\u043e\u0442\u043e \u043c\u043e\u0434\u0435\u043b\u0438",
    "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":""
  },
  "permissions":{
    "apiaccess":"",
    "view":"",
    "list":"",
    "save":"",
    "create":"",
    "remove":"",
    "delete":"",
    "publish":"",
    "unpublish":"",
    "viewdeleted":"",
    "viewunpublished":""
  },
  "fieldpermissions":"",
  "columns":[
    {
      "MIGX_id":1,
      "header":"\u0418\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435",
      "dataIndex":"slide",
      "width":50,
      "sortable":true,
      "show_in_grid":1,
      "customrenderer":"",
      "renderer":"ImagePlus.MIGX_Renderer",
      "clickaction":"",
      "selectorconfig":"",
      "renderchunktpl":"",
      "renderoptions":"",
      "editor":""
    }
  ],
  "category":""
}
Что блин не так? Почему превью не видны? Да и ощущение, что файлы не добавились в таблицу в документе
Если смотреть последние рекомендации гугла, то для видосов должна быть такая карта:
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
  <url>
    <loc>https://www.example.com/videos/some_video_landing_page.html</loc>
    <video:video>
      <video:thumbnail_loc>
         https://www.example.com/thumbs/123.jpg
      </video:thumbnail_loc>
      <video:title>
         Grilling steaks for summer
      </video:title>
      <video:description>
         Bob shows you how to grill steaks perfectly every time
      </video:description>
      <video:player_loc>
          https://www.example.com/videoplayer?video=123
      </video:player_loc>
      <video:expiration_date>2009-11-05T19:20:30+08:00</video:expiration_date>
    </video:video>
  </url>
</urlset>
В противном случае в search console он начинает сыпать ошибки. Можно конечно собрать вручную для страниц с видео вторую карту сайта. Но мне кажется уже кто-то эти вопросом наверняка задавался и должны быть уже готовые решения
Первый вариант работает, спасибо. Картинок будет много.
Второй вариант не заработал
Unexpected end of expression in modchunk/84 line 5, near '{'!ms2Gallery' | snippet: [↵'resources'=>$id,↵'innerJoin'=>['Parent'=>['class'=>'modResource','on'=>'Parent.id = modResource.id'],↵'select'=>['Parent'=>'Parent.pagetitle as parent_title'],↵'limit'=>1,↵'tpl'=>'ms2Gallery.mainpage.tpl'↵]' <- there
в точку)
Чанк главной карточки
<div class="col-6 col-md-3 col-sm-6 gv-card">
<div class="product-grid">
<div class="product-image">
<a href="[[~[[+id]]]]" class="image">[[!ms2Gallery? &resources=`[[+id]]` &limit=`1` &tpl=`ms2Gallery.mainpage.tpl`]]</a> 
<div class="add-to-cart">
<a href="[[~[[+id]]]]">[[+pagetitle]]</a>
</div>
</div>
</div>
</div>
Чанк ms2Gallery.mainpage.tpl:
{if $files?}
    {foreach $files as $file}
<img src="{$file['url'] | phpthumbon: 'fltr[]=wmi|assets/wm/wm.png|C|40|100|100|0'}" alt="...ТО САМОЕ..." title="{$file['name']}">
    {/foreach}
{else}
<img src="assets/img/projects/v-1.png" alt="[[+pagetitle]]" title="[[+pagetitle]]"/>
{/if}
все верно, в чанке прописан код вывода изображения для определенного документа. Есть задумка немного автоматизировать формирование alt для картинки и вписывать туда значения родителя, к которому принадлежит документ (разбавленный другими фразами. Как Вы наверное уже поняли, родитель — это город. Таких родителей около 100ни.
ТВ параметры ввода: Outcall||Incall
ТВ параметры вывода: Разделитель

плагин:
<?php
if($resource->class_key == 'Ticket' && $modx->event->name == 'OnDocFormSave' && $modx->context->key != 'mgr'){

    if(!empty($_POST['provides'])) {
        $provides = implode('||',$_POST['provides']);
    	if (!$resource->setTVValue('provides', $_POST['procent'])) {
    		$modx->log(xPDO::LOG_LEVEL_ERROR, 'provides - ERROR');
    	}       
    } else {
    	if (!$resource->setTVValue('provides', '') ) {
    		$modx->log(xPDO::LOG_LEVEL_ERROR, 'provides - ERROR');
    	}       
    }
    $modx->cacheManager->refresh();
}