AV_Jok

AV_Jok

С нами с 25 января 2014; Место в рейтинге пользователей: #1217
Баха Волков
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
На первый взгляд, вы всё сделали правильно, и проблема только в том, что в базе ваши данные хранятся без путей и в итоге вы получаете такую ситуацию, точнее не получаете пути к файловым источникам.

Надеюсь помог.
Андрей
23 января 2018, 19:08
3
+1
Можно попробовать так заколхозить :)

{'!pdoMenu' | snippet:[
	'parents' => 0,
	'level' => 2,
	'tplOuter'=>'@INLINE <ul id="menu" class="clearfix">{$wrapper}</ul>',
	'tplInner'=>'@INLINE <div class="sub-menu-wrap"><ul>{$wrapper}</ul></div>'
	'tpl'=>'tpl.megamenu'
]}

tpl.megamenu:
{if $id == 2}
	<li class="dropdown has-megamenu"><a href="#">{$menutitle}</a>
		<div class="sub-menu-wrap mega-menu flex-row">
			
			{'pdoMenu' | snippet : [
				'parents'=>$id,
				'level'=>2,
				'outerTpl'=>'@INLINE {$wrapper}',
				'innerTpl'=>'@INLINE <ul>{$wrapper}</ul>',
				'tpl'=>'@INLINE <div class="mega-submenu"><h5 class="mega-title"><span class="cicon-heating"></span>{$menutitle}</h5>{$wrapper}</div>',
				'tplInnerRow'=>'@INLINE <li><a href="{$link}">{$menutitle}</a></li>'
			]}
			
		</div>
	</li>
{elseif $id == 3}
	<li class="dropdown"><a href="{$link}">{$menutitle}</a>{$wrapper}</li>
{else}
	<li {$classes}><a href="{$link}" {$attributes}>{$menutitle}</a>{$wrapper}</li>
{/if}

В проверке соответственно подставить свои id нужных страниц.

p.s. Вызов на Fenom, для него должна быть включена настройка — Использовать Fenom на страницах, или перепишите на обычный синтаксис.