MIGX Источник файлов, нет пути к изображениям!

Добрый день, видел тут на сайте, мастера по компоненту MIGX , подумал может быть он сможет подсказать как решается моя задача!!!

При создании источника файлов для менеджера обнаружил что при добавлении изображения и вывода его через phpThumbOn, выводит только кешированную превьюху, если выводить изображение просто через {$_modx->resource.tv.name}, то в браузере выводит путь только изображения
img.png
.
Что было проделанно:

Создал источник файлов:
1) Медиа — > Создать новый источник — > Имя: Images, Описание: Для картинок, Тип источника: Файловая система.
2) В настройках:
basePath - Текстовое поле - assets/onepage/images/
baseUrl - Текстовое поле - assets/onepage/images/
Сайт находится — assets/onepage/папки сайта
Остальное по умолчанию!

Создал поле MIGX
1) Параметры ввода — migx
2) Вкладки формы
[
  {
    "caption": "Заголовок",
    "fields": [
      {
        "field": "img",
        "caption": "Изображение (75х75)",
        "inputTVtype": "image",
        "sourceFrom":"migx"
      },
      {
        "field": "caption",
        "caption": "Описание, не более 65 знаков",
        "inputTVtype": "text"
      },
      {
        "field": "title",
        "caption": "Тег Title",
        "inputTVtype": "text"
      },
      {
        "field": "alt",
        "caption": "Тег Alt",
        "inputTVtype": "text"
      }
    ]
  }
]
3) Разметка колонок
[{
  "renderer": "this.renderImage",
  "sourceFrom": "migx",
  "header": "Изображение (75х75)",
  "dataIndex": "img",
  "sortable": "true"
},{
  "header": "Описание, не более 65 знаков",
  "dataIndex": "caption"
},{
  "header": "Тег Title",
  "dataIndex": "title"
},{
  "header": "Тег Alt",
  "dataIndex": "alt"
}]
4) Источник файлов Web — Images (выбрал тот который создал)
5) Указал шаблон

Как произвожу вызов (на странице шаблона!!! не в чанке)
— с phpThumbOn
<div class="row m-t40 row-flex p30">
    {set $rows = json_decode( 23 | resource: 'down-price', true)}
    {foreach $rows as $item}
            <div class="col-md-2 col-xs-12 m-b20">
                <img src="{$item.img | phpthumbon : "w=75&h=75&zc=C&q=60&ra=1&fltr[]=wmi|200x200|30|50|50|0"}" title="{$item.title}" alt="{$item.alt}">
            </div>
            <div class="col-md-10 col-xs-12 m-b20">
                <p style="font-size: 26px;">{$item.caption}</p>
            </div>
    {/foreach} 
</div>
— без phpThumbOn
<div class="row m-t40 row-flex p30">
    {set $rows = json_decode( 23 | resource: 'down-price', true)}
    {foreach $rows as $item}
            <div class="col-md-2 col-xs-12 m-b20">
                <img src="{$item.img}" title="{$item.title}" alt="{$item.alt}">
            </div>
            <div class="col-md-10 col-xs-12 m-b20">
                <p style="font-size: 26px;">{$item.caption}</p>
            </div>
    {/foreach} 
</div>
Вот код браузера:
с phpThumbOn
<div class="col-md-2 col-xs-12 m-b20">
    <img src="/assets/cache_image/noimage_75x75_b2c.jpg" title="Нашли дешевле, снизим цену!" alt="Нашли дешевле, снизим цену!">
без phpThumbOn
<div class="col-md-2 col-xs-12 m-b20">
        <img src="icon-search.png" title="Нашли дешевле, снизим цену!" alt="Нашли дешевле, снизим цену!">
</div
без phpThumbOn путь к картинке только название изображения, где то теряется
assets/onepage/.......
с phpThumbOn вообще показывет только заглушку, но правильно, так как пути к изображению нет.((

Подскажите пожалуйста где что упустил! Спасибо!

PS Баха, спасибо за прекрасные статьи!!!

PS2 Еще забыл добавить что в ClientConfig источник файлов работает, генерирует полный путь к изображению!
Сергей
17 октября 2018, 19:29
modx.pro
1
2 462
0

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

Баха Волков
17 октября 2018, 21:45
1
+1
мастера по компоненту MIGX
Громко, но все равно спасибо)

PS Баха, спасибо за прекрасные статьи!!!
Пожалуйста!)

PS2 Еще забыл добавить что в ClientConfig источник файлов работает, генерирует полный путь к изображению!
В недавних обновлениях он стал это делать, до этого не было (приходилось добавлять вручную)

Подскажите пожалуйста где что упустил!
Привожу цитату из первой статьи:

Обратите внимание, что пути к изображениям хоть и в базе хранятся без источника файлов, но сниппет getImageList нам их предусмотрительно дописал

Решения:

  1. Fenom:

    с phpThumbOn

    <div class="row m-t40 row-flex p30">
        {set $rows = json_decode( 23 | resource: 'down-price', true)}
        {foreach $rows as $item}
                {if $item.img}
                {set $thumb = $_modx->runSnippet('!phpthumbon', [
                    'input' => 'assets/onepage/images/' ~ $item.img,
                    'options' => 'w=75&h=75&zc=C&q=60&ra=1&fltr[]=wmi|200x200|30|50|50|0"}'
                ])}
                <div class="col-md-2 col-xs-12 m-b20">
                    <img src="{$thumb}" title="{$item.title}" alt="{$item.alt}">
                </div>
                {/if}
                <div class="col-md-10 col-xs-12 m-b20">
                    <p style="font-size: 26px;">{$item.caption}</p>
                </div>
        {/foreach} 
    </div>

    Без phpThumbOn

    <div class="row m-t40 row-flex p30">
        {set $rows = json_decode( 23 | resource: 'down-price', true)}
        {foreach $rows as $item}
                {if $item.img}
                <div class="col-md-2 col-xs-12 m-b20">
                    <img src="assets/onepage/images/{$item.img}" title="{$item.title}" alt="{$item.alt}">
                </div>
                {/if}
                <div class="col-md-10 col-xs-12 m-b20">
                    <p style="font-size: 26px;">{$item.caption}</p>
                </div>
        {/foreach} 
    </div>


  2. Использовать getImageList
На первый взгляд, вы всё сделали правильно, и проблема только в том, что в базе ваши данные хранятся без путей и в итоге вы получаете такую ситуацию, точнее не получаете пути к файловым источникам.

Надеюсь помог.
    Сергей
    17 октября 2018, 21:47
    0
    Да конечно, помогли!!! Спасибо огромное.
    Киньте ссылку на донат)
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    2