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

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

Был в сети 10 июня 2026, 17:44
Заказы не принимаю
pdoTools can`t do this out of the box. You need to write your own snippet for it.

1. Get all resources
2. Loop through them
3. Get their createdon, split to year and month, than and into such array
$resources = array(
	'2015' => array(
		'11' => array(
			0 => array(
				'id' => 15,
				'pagetitle' => 'Some title',
				...
			),
			1 => array(...)
		)
	)
)
4. Loop through this array and template it
5. Show on site
6. (optional) Cache results

Of course, you can use pdoTools methods for this snippet.
Дублирование результатов запроса после leftJoin
Чтобы такого не было, нужно сгруппировать запрос:
$q->groupby('msOrder.id');

Если же нужно выбрать заказ + все его товары, то лучше не использовать leftJoin и добирать эти товары отдельным запросом во время оформления вывода заказа.

Ну а если нужно будет еще и сортировать по товарам, то тогда всё же оставляешь leftJoin и убираешь дубликаты уже во время оформления.
PHP не умеет динамически расширять классы.

Нужно расширить еще и pdoFetch вот так:
<?php
if (!class_exists('pdoToolsCustom')) {
	require 'pdotoolscustom.class.php';
}
class pdoFetchCustom extends pdoToolsCustom {
}
И указать его там же, в настройке pdoFetch.class — pdotools.pdofetchcustom.

В общем, советую переписать заметку и код по нашему обсуждению.