Василий Наумкин

Василий Наумкин

С нами с 08 декабря 2012; Место в рейтинге пользователей: #1
Василий Наумкин
12 февраля 2016, 06:51
+3
You do it wrong. You need to use 3 TVs with type «image» with correct paths to files.

Or you could try to use pdoResources with &prepareSnippet that will additionally process each row:
[[!pdoPage?
	&element=`pdoResources`
	&parents=`219`
	&tpl=`MATCH_INDEX_FREE_TPL`
	&showUnpublished=`0`
	&showHidden=`1`
	&limit=`5`
	&processTVs=`1`
	&includeTVs=`IMAGE,Race`
	&depth=`25`
	&sortby=`createdon`
	&sortdir=`DESC`
	&prepareSnippet=`getMyImages`
]]
[[!+page.nav]]

Snippet getMyImages:
<?php
// $row - is the array with resource selected by pdoResources being processed now
$values = explode(',', $row['tv.IMAGE']); // Your selected TV with images
foreach ($values as $k => $value) {
	$row['path' . ($k +1)] = $value; // Add new placeholders to $row
}
return json_encode($row); // Return data with additional placeholders

Now you can use placeholders in chunk:
<div class="dog_cont">
	<div class="data_title_new">[[+tv.Race]]</div>
	<div class="dog_photo2">
		<div id="ad_image_big">
			<a href="[[+path1:phpthumbof=`w=900&zc=t`]]" rel="lightbox"><img src="[[+path1:phpthumbof=`w=200&h=160&zc=t`]]" /></a>
		</div>
		<div id="ad_image_small" >
			<a href="[[+path2:phpthumbof=`w=900&zc=t`]]" rel="lightbox"><img src="[[+path2:phpthumbof=`w=95&h=80&zc=t`]]" /></a>
		</div>
		<div id="ad_image_small2">
			<a href="[[+path3:phpthumbof=`w=900&zc=t`]]" rel="lightbox"><img src="[[+path3:phpthumbof=`w=95&h=80&zc=t`]]" /></a>
		</div>
	</div>
</div>
No need to make them uncacheable, by the way.

There could be a misunderstanding with letters case of your placeholders, but you can see them all if you will specify a blank &tpl=`` property.

pdoPage and pdoResources is the parts of pdoTools package.
Василий Наумкин
11 февраля 2016, 18:32
+8
Потому что вот и вот.

Конкуренты, ага.
Василий Наумкин
11 февраля 2016, 10:27
+1
Логика проста — выбирается BazOrders1External, к нему цепляется Internal и Rails. Если записей Internal или Rails для присоединения подходит больше, чем BazOrders1External, то выведутся они все.

А вот если указана группировка по какому-то полю, то это поле как бы уникальный ключ, и к нему будет выбирается только по одной записи из Internal и Rails.
&groupby=`BazOrders1External.id`

В общем, как обычно. Нужно не pdoTools и его параметры учить, а SQL.
Василий Наумкин
11 февраля 2016, 08:41
+1
&innerJoin=`{ 
	"BazOrders2Internal":{ "alias":"Internal","on":"Internal.publishedby = \"2\"" },
	"BazOrders4Rails":{ "alias":"Rails","on":"Rails.publishedby = \"2\"" }
}`
И к чему здесь таблицы присоединяются? К цифре 2?

Всё же расписано, почему не прочитать? docs.modx.pro/components/pdotools/classes/pdofetch#Метод-addJoins
Василий Наумкин
10 февраля 2016, 16:30
1
+2
Разные контексты не всегда означают разные сайты или разные адреса. Это просто разные контексты.

Как именно их использовать — решает создатель сайта. Например, у Shopkeeper там часто хранятся товары, отдельно от остальных ресурсов.

Поэтому нужно использовать простой плагин.
Василий Наумкин
09 февраля 2016, 22:10
+2
Конечно, чтобы сразу 90% сайтов сломалось.
Василий Наумкин
09 февраля 2016, 19:49
+1
Добавил, можно тестировать 2.5.0-rc1 на modhost.pro
Василий Наумкин
09 февраля 2016, 14:55
+1
Мое личное мнение, что ведущему архитектору пора заканчивать философствовать и планировать, наконец взять и расставить все точки над «и» в спорах и выпустить хотя что-то новое и со спокойной душой дальнейшие 4 года продалжать философствовать и планировать.
Хуяк-хуяк и в продакшен — это наш девиз!

пора заканчивать философствовать и планировать
Ну прелесть же!

пора заканчивать… планировать… и выпустить хотя что-то новое
Ааааа!!!
Василий Наумкин
09 февраля 2016, 14:30
+1
Тебе первой же ссылкой дают подробный доклад, ты что отвечаешь?
Я сторонник подачи подобного вида информации именно в текстовом формате, а не в видео

Второй ссылкой тебе дают субтитры — у тебя снова масса вопросов.

Тебе подробно текстом уже всё разжевывают, а в ответ
По-прежнему слова-слова и еще раз слова, а по факту с 2012 из этих слов толку

Ну офигеть теперь! Сходи в Slack, потребуй Jason Coward тебе отчитаться, чего он там сиськи мнёт. Не хочет работать поди, лентяй.
Василий Наумкин
09 февраля 2016, 13:49
0
Значит, разбирайся.

У нас здесь стоит всегда последние версии всего, и всё, почему-то, работает.
Василий Наумкин
09 февраля 2016, 13:48
+1
Друг, такое ощущение, что тебе лично кто-то что-то должен.

То собрать, скомпилировать и опубликовать информацию, непременно в текстовом виде и на русском.
То, кроме слов, еще что-то предоставить (рабочую версию MODX 3, наверное).

Сам-то ты какое участие принял в разработке?
Василий Наумкин
09 февраля 2016, 13:44
0
Значит нет у тебя значения для этого плейсхолдера в чанке на момент его обработки.

Не судьба, в общем.
Василий Наумкин
09 февраля 2016, 13:38
0
Не пробовал восклицательный знак у условия убрать?
Василий Наумкин
09 февраля 2016, 13:18
0
Давайте, кто первый угадает, что там в чанке tpl.msProducts.row? Я думаю, что там какие-то некэшированные сниппеты или MODX модификаторы, которые не могу обработаться правильно.

У кого еще какие версии?
Василий Наумкин
08 февраля 2016, 17:14
+1
Значит только я вижу разницу между строкой с описанием функции в общем формате, и двумя рабочими примерами ниже.

Вот так правильно:
{$_modx->resource.publishedon | date_format : '%e %B %Y'}
Василий Наумкин
08 февраля 2016, 17:03
+1
Раздел «Новые дополнения и их версии» нужен для описания новых дополнений и их версий. А «Вопросы» — чтобы задавать вопросы.

Ты что делаешь в своей заметке — анонсируешь новое дополнение, или задаешь вопрос?

UPD. Смотрю, вопрос из заметки уже исчез. Тогда можешь перенести её в «Готовые решения».
Василий Наумкин
08 февраля 2016, 16:47
+1
Ошибок 500 в журнале MODX не может быть по определению.

Ошибки сервера пишутся в лог сервера.