Роман

Роман

С нами с 06 октября 2013; Место в рейтинге пользователей: #332
Роман
17 марта 2023, 00:13
0
Кстати идея, благодарю! Попробую на Fenom и через pdoResoutrces реально, попробую…
Роман
16 марта 2023, 23:38
0
ну вот да, такая задача, есть разные ресурсы, в них заполнен один и тот же TV MIGX, и вот все эти данные нужно вывести на главной странице, с трех id, друг за другом, но дублировать циклы друг за другом, совсем не хочется :(
Роман
07 февраля 2023, 22:42
0
Спасибо, а как будет через newQuery? :)
Роман
01 февраля 2023, 11:26
0
да вот и сам бы так не стал делать, но есть такая конструкция а я перевожу на Fenom шаблон, но может действительно стоит сам сниппет изменить. Благодарю!
Роман
22 января 2023, 14:32
0
Понял идею, спасибо! Да можно и так, пока вроде получилось, своим снипетом tours_sort вот так,

$array;

foreach($array as $key => $val) {

$res = $modx->getObject('modResource',$val['id']);
$field_date = $res->getTVValue('field_date');
$array_field = json_decode($field_date, true);

foreach($array_field as $key => $val) {
      $sort_array[] = $val['date1'];
}
}
array_multisort($sort_array, SORT_ASC, $array);
return $array;
И подставляю уже на сайте вместо массива $tours {foreach $tours as $el}

{set $tours_sort = $_modx->runSnippet('!tours_sort', ['array' => $tour])}
{foreach $tours_sort as $el}
Роман
22 января 2023, 13:14
0
Пока для массива $tour пишу свой снипет,

<?php
$tour;
foreach($tour as $key => $val) {

$res = $modx->getObject('modResource',$val['id']);
$field_date = $res->getTVValue('field_date');
$array_field = json_decode($field_date, true);

foreach($array_field as $key => $val) {
      $date_tour[] = $val['date1'];
}
}
echo '<pre>';
print_r($date_tour);
echo '</pre>';
Получил тады, теперь хочу отсортировать их, но пока не получается

Array
(
[0] => 2023-02-18 14:21:00
[1] => 2023-02-11 15:06:00
)
Роман
22 января 2023, 12:45
0
Суть такая, есть список ресурсов контейнеров по месяцам, структура документов такая

-Туры (id 6)
-январь
— тур1
— тур2
-февраль
-март


Месяцы вывожу через pdoResources
{set $month = 'pdoResources' | snippet : [
'return' => 'json',
'parents' => 6,
'depth' => '0',
'limit' => '12',
'sortby' => ['menuindex' => 'asc'],
'where' => [
    'isfolder:=' => 1,
    'AND:published:=' => 1,
    'AND:hidemenu:=' => 1
]
] | json_decode : true}

///месяцы
{foreach $month as $item}
{$item.pagetitle} //название месяца 

///туры
{set $tour = '!pdoResources' | snippet : [
'return' => 'json',
'parents' => $item.id,
'showHidden' => 0,
'showUnpublished' => 0,
'sortby' => ['menuindex' => 'asc'],
] | json_decode : true}

{foreach $tour as $el}
{$el.id | resource: 'title'}  ///название тура

{set $date = json_decode($el.id | resource: 'field_date', true)}  //ДАТЫ ТУРА
{foreach $date as $idx => $item}
{$item.date1 | date_format : "%e %b %Y"} ////ДАТА ТУРА
{/foreach}

{/foreach}

{/foreach}
Так вот у туров ресурсов, есть TV MIGX FIELD_DATE у которого разные поля есть и нужное мне поле date1, вот по этому полю я хочу отсортировать вывод самих ТУРОВ. Это {foreach $tour as $el} массив $tour. Но пока слабоват как решить эту задачу.
Роман
22 января 2023, 10:36
0
Осталось понять как это сделать
Роман
21 января 2023, 14:55
0
Пока так получилось, осталось отсортировать по дате по полю date1 которое содержит дату

<?php
$array;

foreach($array as $key => $val) {

$res = $modx->getObject('modResource',$val['id']);
$field_date = $res->getTVValue('field_date');
$array_field = json_decode($field_date, true);

  foreach($array_field as $key => $val) {
      echo $val['date1'].'---
';
  }
}
Роман
21 января 2023, 12:10
0
да разницы нет я думаю MIGx просто или db, все равно придется для $field_date массива вывод делать не через fenom, а своим снипетом просто. Думаю хватит ума, передать в сниппет массив $field_date и там поле date получить и сформировать массив отсортировав по дате ил поля date и уже через echo распечатать.
Роман
16 января 2023, 11:47
0
{var $count_pub++} вызывает ошибку fenom вообще, белый лист.
Роман
16 января 2023, 02:42
0
А не подскажете, в вашем примере увеличение счетчика так {$count_pub++} это работает, но эта переменная выводиться цифрой на сайте, как сделать что-бы она не выводилась? Пробовал так прописать {include $count_pub++} и так пробовал
{include ++$count_pub} так не выводиться но в обоих случаях ошибка в логах, php ругается на это :( как правильно прописать увеличение переменной что бы она не выводилась на сайте?
Роман
11 января 2023, 13:29
0
В источнике файлов который указываю для TV image+ убрал слеш в начале assets/theme/media/images/ теперь вроде заработал image+ с источником. Но конечно плохо все с этим в MODx, если сравнивать с wordpress даже, разочарован
Роман
11 января 2023, 11:53
0
image+ вроде норм тема, но не могу понять, не работает с созданным источником файлов, только с filesystem :(
Роман
11 января 2023, 00:27
0
Да вот тоже не требовалось, но теперь с инстаграма фотки человек добавляет, и фото делает для инсты, а там вертикальная ориентация, а обрезать надо под квадрат, а обьект не всегда в центре, то у нижней части то по центру, то в верхней части, заранее подрезать на пк или телефоне не удобно, а скрипт режет в квадрат из вертикальных фото от центра, и все, приехали. Всегда что то подрезается нужное, в общем, нужно подгонять перед добавлением на сайт фото что бы нужная часть фото была по центру.

moreGallery платное дополнение как я понял, не вариант, и слишком навороченное, много всего лишнего, пробую image+
Роман
10 января 2023, 23:20
0
Сейчас буду пробовать, пока нашел это modx.com/extras/package/imagecropper но что то не разберусь как работает
Но конечно это большой минус, в wordpress по умолчанию есть такая возможность
Роман
10 января 2023, 20:53
0
Обалдеть, даже не вериться, на Evo версии вспомнил даже была такая возможность, печаль :(
Роман
10 января 2023, 20:17
0
Спасибо, но сейчас по умолчанию SVG ВЕЗДЕ в системе прописан как разрешенный к загрузке и тд формат