Всего 123 799 комментариев

Дмитрий
25 октября 2023, 22:04
0
У меня качество не меняется ни для webp, ни для png. Только для jpeg. В итоге, убрал эти webp и везде поставил jpeg и качество 30. Даже большие баннеры выглядят нормально, а весят считанные Kb
Николай Савин
25 октября 2023, 18:56
+1
С Василием, по поводу VESP нужно разговаривать на его профильном форуме, где он отвечает на подобные вопросы. bezumkin.ru/
Артём Кузнецов
25 октября 2023, 18:36
0
«С включением Composer в Revolution 3.0 основной каталог MODX нельзя переместить или переименовать.»

Странно, я установил core на уровень выше и всё работает, рядом с core я устаналиваю нужные composer библиотеки и они тоже вроде бы без проблем подключаются ядром. Если интересно как, напишу статью.

Возможно в моей 3 версии это уже исправили.
Артём Кузнецов
25 октября 2023, 18:24
0
Василий ссылка просрочена github.com/bezumkin/vesp-example
Скажите пожалуйста планируете ли вы написать доку для этого минифреймворка?
Наумов Алексей
25 октября 2023, 16:41
+1
Если не видели modx.pro/components/24302
Моя версия компонента для MODX 3, основные возможности сохранены и даже расширены.
Если к компоненту будет интерес — буду развивать!
Евгений
25 октября 2023, 15:38
0
Я нашел как втавить shorts c ютуба! Правой кнопкой на видео, «скопировать HTML код» и далее втавить в документ, только в виде исходного кода. Работает!
Артур Шевченко
25 октября 2023, 15:19
0
По сути всё правильно, может не очень быстро, но при небольшом количестве товаров это будет незаметно.
MODXyou
25 октября 2023, 12:48
0
Добрый день!

В настройке дополнения есть поле для пути загрузки картинок.
pageblocks_source_path assets/images/
По умолчанию все картинки кидаются в корень папки, очень не удобно если много страниц.
Получается каша вообще
Подскажите как сделать чтобы, чтобы каждый ресурс сохранял картинки в свою папку с названием alias
Т.е. к примеру assets/images/test/
Роман
25 октября 2023, 12:09
0
Спасибо большое!
Откатил пока назад на версию, так безопаснее :)
Андрей Шевяков
25 октября 2023, 12:02
1
+1
На версии MODX 2.8.6 есть такой косяк. Решение тут modx.pro/news/24265
Константин Ильин
25 октября 2023, 10:26
0
JS запрос к request.php(куда хотите его кладите в нем подключение index путь правьте), можете этот запрос повесить на клик кнопки
p = new URLSearchParams();
//тут передаем какие то параметры
p.set('action', 'runSnippet');
p.set('blabla', '1212');

fetch('/request.php', {
    method: 'POST',
    body: p
})
.then((response) => {
    return response.json();
})
.then(( r ) => {
    console.log( r);
   // тут получает ответ, делайте что угодно, например:
    document.querySelector('body').html(r.out);
});
PHP request.php
if(empty($_POST['action'])){
    return;
}

define('MODX_API_MODE', true);
require 'index.php';
$pdo = $modx->getService('pdoTools');
$resp = [
    'success' => 1
];
switch ($_POST['action']){
    case 'runSnippet':
        $resp['out'] = $modx->runSnippet('snippetBla', [ 'parents' => 1111] );
        echo json_encode($resp);return;
    break;
}
Игорь
25 октября 2023, 06:56
0
Решил частично проблему — просто у страницы поставил галочку «контейнер» и тогда страница из /page.html становится /page/
можно ещё окончание / убрать редиректом через htacess
Евгений
24 октября 2023, 23:09
0
заметил что не сохраняются страницы которые являются родительскими (то есть имеют вложенные страницы) очень странно. ресурсы этого же шаблона не являющиеся родителями спокойно сохраняются
Дмитрий
24 октября 2023, 14:02
0
Пока в голову пришло сделать только так
{var $dateCategory = '!pdoResources' | snippet : [
                'parents'=>'13',
                'class' => 'msCategory',
                'limit' => '0',
            	'select' => [
            		"msCategory" => "*"
            		,"Product" => "Product.id as product_id"
            	],
                'innerJoin' => [
            		"Product" => [ "class" => "msProduct", "on" => "Product.parent = msCategory.id AND Product.class_key = 'msProduct' AND Product.published = 1 AND Product.deleted = 0" ],
            		"Data" => [ "class" => "msProductData", "on" => "Product.id = Data.id" ],
            		"Vendor" => [ "class" => "msVendor", "on" => "Data.vendor = Vendor.id" ]
            	],
            	'where'=> ["Vendor.name:LIKE" => '%'~ $_modx->resource.pagetitle ~'%', "class_key" => "msCategory" ] ,
            	'sortdir' => 'asc',
            	'groupby' => 'msCategory.id'
                'tpl'=>'@INLINE {$parent},{$id},'
            ]}

                    {'!pdoMenu' | snippet:[
                        'parents' => 13,
                        'resources'=> $dateCategory,
                        'level' => 2,
                        'displayStart' => 0
                        'tplOuter' => '@INLINE <div class="brand-category__items">{$wrapper}</div>',
                        'tpl' => '@INLINE <li {$classes}><a href="{$link}?vendors={$_modx->resource.brand_id}">{$pagetitle}</a>{$wrapper}</li>',
                        'tplInner' => '@INLINE <ul class="brand-category__list {$classnames}">{$wrapper}</ul>',
                        'tplParentRow' => '@INLINE <div class="brand-category__item"><div class="brand-category__inner"><p class="brand-category__name">{$menutitle}</p>{$wrapper}</div></div>'
                    ]}
Может есть более правильный способ?
Fr3ddy
24 октября 2023, 12:27
0
Доброго времени суток, есть проблема — не добавляются опции

https://ibb.co/tLMjFV5

https://ibb.co/5hqJBRx
https://ibb.co/pWwsQMZ

msOptionsPrice2 2.5.22-beta
Minishop2 3.0.7
Игорь
24 октября 2023, 11:58
0
Помогите, не получается вывести pagetitle в
<h5 class="modal-title" id="orderModalLabel"></h5>
Сергей
24 октября 2023, 11:49
0
Увидел, что компонент обновился, может есть надежда еще. Автор огромная просьба выполнить пожелание первого комментария. Было бы максимально полезно, если бы адреса сохранялись автоматически при оформлении товара, а при повторном заказе данные бы подставлялись автоматически, как на крупных маркетплейсах.
Игорь
24 октября 2023, 11:42
0
Нашел другое решение и оно работает. От сюда решение modzone.ru/blog/2015/12/22/ajax-loading-of-content/

Создадим файл, на который будем отправлять AJAX запрос и который будет возвращать контент указанной страницы. Назовем его ajax.php и положим в папку assets.

ajax.php
<?php
// Если запрос не AJAX или не передано действие, выходим
if ($_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest' || empty($_REQUEST['action'])) {exit();}

$action = $_REQUEST['action'];

define('MODX_API_MODE', true);
require_once dirname(dirname(__FILE__)).'/index.php';

$modx->getService('error','error.modError');
$modx->getRequest();
$modx->setLogLevel(modX::LOG_LEVEL_ERROR);
$modx->setLogTarget('FILE');
$modx->error->message = null;

$output = '';
switch ($action) {
    case 'getContent':
        // Если не передан id страницы, тоже выходим
        $id = isset($_REQUEST['id']) ? (int) $_REQUEST['id'] : 0;
        if (empty($id)) {
            exit();
        };

        $object = $modx->getObject('modResource',$id);
        $output = $object->get('content');
        // Парсим теги MODX
        $maxIterations= (integer) $modx->getOption('parser_max_iterations', null, 10);
        $modx->getParser()->processElementTags('', $output, false, false, '[[', ']]', array(), $maxIterations);
        $modx->getParser()->processElementTags('', $output, true, true, '[[', ']]', array(), $maxIterations);
}


@session_write_close();
exit($output);

Создайте JavaScript файл, например script.js, и добавьте в него следующий код:

$(document).on('click', '.read-more', function(e) {
  e.preventDefault();
  var id = $(this).data('id') || 0;
  // Вставляем контент в тело модального окна
  $("#content").load("/assets/ajax.php", {action: "getContent", id: id}, function(response) {
    // Если ответ не пустой, открываем модальное окно
    if (response) {
      $("#mymodal").modal('show');
    }
  });
});
Подключите созданный JavaScript файл на вашем сайте.

<script src="путь/к/вашему/script.js"></script>
Добавление разметки для модального окна:
Добавьте на вашу страницу HTML код для модального окна Bootstrap:
<div class="modal fadeIn" id="mymodal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" aria-label="Close"><span aria-hidden="true">×</span></button>
        <h4 class="modal-title" id="myModalLabel">Модальное окно</h4>
      </div>
      <div id="content" class="modal-body"></div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default btn-close">Закрыть</button>
      </div>
    </div>
  </div>
</div>
Пример ссылки, где 42 это id страницы:

<a href="#" class="read-more" data-id="42">Подробнее</a>
Все, теперь страницы будут открываться без шаблона страницы.