Вывод опций minishop2 в выпадающем списке на главной странице запросом к базе

Всем привет, всех с праздниками!!! Подскажите пожалуйста, возможно ли и как подтянуть опции minishop2 в выпадающем списке не на странице товара, а на главной. Так понимаю, нужно делать запросы к базе, но в этом деле я новичёк.

Задача дать возможность предварительного выбора опций для передачи их в get-параметры для поиска по сайту по данным опциям.

Как реализовать поиск, мне помогли и подсказали в этой заметке: modx.pro/help/22865

Так что дело вроде как за малым. Осталось как-то подтянуть опции.

Заранее спасибо!
Константин
04 мая 2022, 09:13
modx.pro
798
0

Почему в ModX 3 при формировании блока постраничного вывода через pdoPage генерируются некорректные ссылки?

Пытаюсь сделать вывод новостей на сайте (через Collections).
<div class="container">
        <div class="row">

            [[!pdoPage?
                &tpl=`listItem`
                &parents=`[[*id]]`
                &limit=`10`
                &pageLinkScheme=`/[[+pageVarKey]]-[[+page]]`
            ]]
        </div>
        
        <div class="row mt-3">
            <div class="col">
                [[!+page.nav]]
            </div>
        </div>
    </div>
Пагинация выводится правильно, но вот ссылки на страницы из Пагинации почему-то формируются некорректно. Они формируются не относительно родителя, а относительно текущий страницы. Например, если открыть страницу page-3, то ссылка на страницу 2 будет иметь вид novosti/page-3/page-2. В чём может быть причина?
Markus
03 мая 2022, 18:54
modx.pro
667
0

[Решено] Превью изображений не создаются, если папка с ними находится по симлинку


Такая вот проблема. Сами изображения доступны по своим URL из браузера.
Тобиш nginx или Apache на хостинге их отдают.

Но вот почему-то не генерируются их превью. Возможно в этом виноват PHP, возможно MODX.

Изображения находятся в папке
/home/.../_global_/assets/images
А в папке самого сайта есть симлинк:
/home/.../site.ru/assets/images
, указывающий на тот самый
/home/.../_global_/assets/images
Что тут можно предпринять? Попробовал добавить в .htaccess эту строчку,
но не помогло: Options +FollowSymLinks
Fullstack
03 мая 2022, 00:01
modx.pro
581
0

Как оптимизировать все картинки на сайте разом?

У меня есть плагин который с помощью phpthumb оптимизирует при загрузке, его ведь можно превратить чтобы он оптимизировал все картинки по запуску, как получить список все картинок что используются на сайте?
<?php
$fullPath = $source->getBases() ['pathAbsolute'] . $directory;
foreach ($files as $file)
{

    if (strripos($file['type'], 'image') === false || $file['type'] == 'image/svg+xml')
    {
        return;
    }

    $name = $file['name'];
    $pathToImage = $fullPath . $name;

    if (exif_imagetype($pathToImage) == IMAGETYPE_JPEG)
    {

        $params = array(
            'w' => 1920,
            'f' => 'jpeg',
            'q' => 80,
        );

    }
    elseif (exif_imagetype($pathToImage) == IMAGETYPE_PNG)
    {

        $params = array(
            'w' => 1920,
            'f' => 'png',
            'q' => 80,
        );

    }
    elseif (exif_imagetype($pathToImage) == IMAGETYPE_GIF)
    {
        return;
    }

    $phpThumb = $modx->getService('modphpthumb', 'modPhpThumb', MODX_CORE_PATH . 'model/phpthumb/', array());
    $phpThumb->setSourceFilename($pathToImage);

    foreach ($params as $k => $v)
    {
        $phpThumb->setParameter($k, $v);
    }

    if ($phpThumb->GenerateThumbnail())
    {
        if (!$phpThumb->renderToFile($pathToImage))
        {
            $modx->log(1, 'Ошибка сохранения изображения в [' . $pathToImage . ']');
        }
    }
    else
    {
        $modx->log(1, print_r($phpThumb->debugmessages, 1));
    }

}
Vladimir
02 мая 2022, 09:28
modx.pro
1 208
0

Как поменять папку cache?

Есть несколько сайтов, использующих общий движок и тонны изображений, которые присутствуют на всех них. Контексты были выбраны как вариант, но там появляется проблема переписывания в миллионах мест [[~IDшников]] на новые. Был выбран самый лучший вариант — сделать разные базы данных, в зависимости от домена. Похожие чанки можно хранить в виде файлов и тогда они будут доступны для всех сайтов вне зависимости от БД, а те которые надо чтобы различались, будут оставаться в БД.

И по итогу все ID'шники сохранятся… Но папка кэша. В ней получается будут храниться разные ресурсы с одинаковыми ID. Как изменить папку кэша в зависимости от домена? Она наверняка где-то жестко прописана, плюс в разных дополнениях тоже. Просто раздельные БД — это самый лучший вариант для тех задач, которые мы предусматриваем. И при этом хотим оставить все ID как есть.
Fullstack
01 мая 2022, 18:18
modx.pro
735
0

Вывод изображения через pdoPage (ajax)

Здравствуйте!

Столкнулся с тем, что pdoPage (pdoUser) с ajaxMode=`scroll` не выводит содержимое поля «photo» пользователя.

Фото вывожу так:
[[!+photo:default=`/assets/photouser/default.jpg`]]
Если без фильтра «default», то все нормально выводит:
[[!+photo]]
В чем может быть проблема?

UPD:
Без ajaxMode фото с default фильтром выводится.
Сергей
01 мая 2022, 17:33
modx.pro
471
0

Shopkeeper3 и кнопка оформить заказ

Здравствуйте. Вот вызов на странице оформления заказа
[[!Shopkeeper3@ordercart]]			
[[!FormIt?
&hooks=`spam,email,redirect`
&submitVar=`order`
&emailTpl=`shopOrderReport`
&fiarTpl=`shopOrderReport`
&emailSubject=`В интернет-магазине "[[++site_name]]" сделан новый заказ`
&fiarSubject=`Вы сделали заказ в интернет-магазине "[[++site_name]]"`
&emailTo=`my@yandex.ru`
&emailFrom=`[[++emailsender]]`
&fiarReplyTo=`[[++emailsender]]`
&fiarToField=`email`
&redirectTo=`11`
]]

[[$shopOrderForm]]
Столкнулся с такой проблемой, если в корзине удалить товар и корзина становится пустой, кнопка 'оформить заказ' не исчезает. Как убрать кнопку 'Оформить заказ' при условии, что в корзине пусто

Андре Владимирович
30 апреля 2022, 16:43
modx.pro
975
0

сложный вывод pdoMenu + bootstrap 5

Здравствуйте уважаемые!!!

Нашёл multilevel-menu bootstrap 5

Там есть вот такой html:

<ul class="navbar-nav">
	<li class="nav-item active"><a class="nav-link" href="#">Пункт меню 1</a></li>
	<li class="nav-item dropdown"><a class="nav-link dropdown-toggle" href="#" data-bs-toggle="dropdown">Пункт меню 2</a>
		<ul class="dropdown-menu">
			<li><a class="dropdown-item" href="#">Пункт меню 2.1 » </a>
				<ul class="submenu dropdown-menu">
					<li><a class="dropdown-item" href="#">Пункт меню 2.2.</a></li>
				</ul>
			</li>
		</ul>
	</li>
</ul>
вложенность просто колоссальная, не могу организовать вывод через pdoMenu, не понимаю как в одном инлайне уместить не закрытый li с содержимым.

Пожалуйста помогите разобраться!
Александр
29 апреля 2022, 17:00
modx.pro
739
0

На modx 3.0.0 криво устанавливается стандартный модуль Gallery

Кто-нибудь тестировал modx 3.0.0? У меня стандартная галерея криво устанавливается. В консоли при установки вылетает ошибка
No foreign key definition for parentClass: MODX\Revolution\modMenu using relation alias: Action
А после установки при переходе в галерею Ошибка
An error occurred…
Действие не указано!
Дима Гапонов
29 апреля 2022, 16:44
modx.pro
2 659
+1

Id последнего заказа

Доброго дня.

Кто-нибудь озадачивался таким вопросом: получить id последнего созданного заказа в minishop?

Спасибо!
Александр
29 апреля 2022, 15:56
modx.pro
501
0