Станислав

Станислав

С нами с 25 марта 2017; Место в рейтинге пользователей: #230

Обернуть каждые N элементов массива в Fenom

Здравствуйте уважаемые друзья! Вопрос в том как вывести элементы массива с учетом того что каждые четыре должны быть обернуты в тег? Например вот стандартный чанк ms2gallery:
{if $files?}
    <div class="slider">
        {foreach $files as $file}
            <div class="slide">
		        <img src="{$file['url']}">
	        </div>
        {/foreach}
    </div>
{/if}
А нужно (просто привожу схематично структуру):
{if $files?}
    <div class="slider">
           <div class="slide">
		    <img src="{$file['url']}">
                    <img src="{$file['url']}">
                    <img src="{$file['url']}">
                    <img src="{$file['url']}">
	    </div>
        {/foreach}
    </div>
{/if}
Понимаю что нужен какой-то цикл for 1..4 но как его реализовать не решу…
Анатолий
28 апреля 2020, 12:16
modx.pro
3
124
0

Не могу запустить pdo внутри чанка, обрабатываемого через плагин, как исправить?

Есть плагин, в котором генерируются ресурсы, все выводится нормально, почти.., но не могу там запустить допустим сниппет, или эту команду [[#[[+tv.customer-id]].pagetitle]] он выводит это как текст, а если ставить просто [[+tv.customer-id]], то тупо выведет айди, а нужно, чтобы вывел заголовок страницы.

Часть кода
$params = array(
    'parents' => $parent,
    'limit' => 6,
    'depth' => 1,
    'offset' => $offfset,
    'level' => 1,
    'tpl' => $tpl,
    'includeTVs' => $tvs,
    'where' => $modx->toJSON($where)
);
$goods = $modx->runSnippet('pdoPage',$params);
Так выглядит темплейт.

<tr>
    <td>[[+idx]]</td>
    <td>
        <p>
            [[+pagetitle]]
        </p>
    </td>
    <td>
        <p>
            [[+tv.object-name]]
        </p>
    </td>
    <td>
        <p>[[#[[+tv.project-type]].pagetitle`]]</p>
    </td>
    <td>
        <p>
            [[+tv.from-year]][[+tv.by-year:!empty=`-[[+tv.by-year]]`]]
        </p>
    </td>
    <td>
        <p>
            [[+tv.project-additional]]
        </p>
    </td>
</tr>
Slava
07 апреля 2020, 13:58
modx.pro
1
134
0

Варианты отображения товаров в каталоге, плиткой или прайсом

Добрый день! Подскажите, как настроить переключатели вариантов отображения товаров в каталоге (плиткой, списком, прайсом). С перезагрузкой страницы.
/katalog/?display=plitka
/katalog/?display=list
/katalog/?display=price
Панируется для каждого варианта подключить отдельный чанк. (plitka.tpl, list.tpl, price.tpl)
Можно ли использовать для этого mFilter?
Шурик
01 апреля 2020, 08:59
modx.pro
1
84
0

Консольный импорт ms2Gallery добавить теги

Добавляю изображения в галерею таким образом:
foreach ($values['files'] as $file) {
        
        $response = $modx->runProcessor('gallery/upload', array(
                'file' => $file, // Путь к файлу от корня сервера
                'id' => $id // id ресурса с галереей
            ),
            array('processors_path' => MODX_CORE_PATH . 'components/ms2gallery/processors/mgr/')
        );

        if ($response->isError()) {
            print_r($response->getAllErrors());
        }
    }
Как мне к загружаемой картинке добавить теги?
Евгений
27 марта 2020, 11:10
modx.pro
1
135
0

pdoPage Загрузка при клике на кнопку "Загрузить больше"

Добрый вечер. Есть галерея картинок. При загрузке страницы загружается 14 изображений, при клике на которые при помощи «baguetteBox» показывается изображение на весь экран, ну в общем все как надо. НО после нажатия на кнопку «Загрузить еще» и появления еще 14 картинок клик по ним показывает картинку открытую через браузер, т.е. чтобы попасть на сайт нужно жать кнопку «со стрелкой назад». При этом если оставить пагинацию с номерами страниц то все работает как надо.
Вот код:
[[!pdoPage?
&parents=`19`
&element=`getImageList`
&tvname=`works`
&limit=`14`
&tpl=`tplWorksInGallery`
]]

[[!+page.nav]]


И сам код чанка tplWorksInGallery:

Буду благодарен за ваши высказывания куда смотреть.
Александр
19 марта 2020, 20:42
modx.pro
1
99
0

Подскановка id в поле alias.

Есть сниппет. Он создает документ.
Сейчас alias формируется из tv+рандом. Как сделать так чтобы в alias подставлялся id документа который был создан.
Код сниппета:
<?php
$profile = $modx->user->getOne('Profile');
$userid = $profile ? $profile->get('id') : '';

// Сниппет будет получать данные из формы методом POST
$title       =  $_POST['title'];
$content     =  $_POST['message'];
$introtext   =  $_POST['introtext'];
$description =  $_POST['description'];
$parent      =  $_POST['parent'];
$template    =  $_POST['template'];
$user_id     =  $_POST['user_id'];
$publishedon =  date('Y-m-d H:i:s');

// Если некоторые значения не будут указаны,
// они будут установлены по умолчанию
if (!$introtext)   $introtext = $title;
if (!$description) $description = $introtext;
if (!$parent)      $parent = 6;
if (!$template)    $template = 6;


// Создаем ресурс
$newResource = $modx->newObject('modResource');

$permitted_chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$alias = $userid.'-'.substr(str_shuffle($permitted_chars), 0, 32);

// Заполняем нужные значения
$newResource->set('pagetitle',$title);
$newResource->set('longtitle',$title);
$newResource->set('description',$description);
$newResource->set('introtext',$introtext);
$newResource->set('content',$content);
$newResource->set('alias',$alias);
$newResource->set('template',$template);
$newResource->set('published',1);
$newResource->set('parent',$parent);
$newResource->set('publishedon',$publishedon);


$id = $newResource->get('id');
// Сохраняем ресурс
if ($newResource->save()) {
  
// Очищаем кеш, чтобы изменения были видны сразу
  $modx->cacheManager->clearCache();
} 
$newResource->setTVValue('user_id', $user_id);
$newResource->setTVValue('project_status', '<span class="badge badge-primary">Відкритий</span>');
 
return true;
Сергій
10 марта 2020, 06:38
modx.pro
2
101
0

Изменение изображения при наведении на пункт меню

Здравствуйте, уважаемые колеги!
Подскажите, пожалуйста, как можно реализовать такое действие через тивишки (или, возможно, как-то по-другому)?
При наведении на пункт меню, меняется изображение.
Сергей
23 февраля 2020, 17:13
modx.pro
1
161
0

Canonical создаваемый msProducts. Как отключить?

Добрый день.
Есть вызов сниппета msProducts в обертке mFilter2 для отображения товаров.
В исходном коде страницы появляется canonical. Насколько я понимаю его добавляет именно msProducts

Существуют ли способы управлять этим поведением? К примеру — отключить вообще его добавление на страницу.

спасибо.
Александр Мельник
21 февраля 2020, 11:50
modx.pro
1
138
0

500 ошибка как поступить дальше?

Знаю многие встречали (так как было много вопросов ко мне) такое что когда ставишь компонент например в зависимостях есть pdoTools, но нет правильной проверки получают 500 ошибку. Или взять второй вариант разрабатываешь свой плагин допустил ошибку или случайно удалил файл в IDE c какого-то компонента и здесь перестала работать админка, так как плагин имел например событие "OnHandleRequest".

Что делать дальше?
Да всё намного проще нежели думают другие
Yurij Finiv
16 февраля 2020, 14:23
modx.pro
2
446
+11