Денис Усманов

Денис Усманов

С нами с 23 августа 2019; Место в рейтинге пользователей: #16
23 октября 2023, 16:18
0
Простейший способ решения задачи: сделать запрашиваемый ресурс без шаблона.
Вот у меня скрипт 1 есть, мб поможет как:
$(document).on('click', '.modalTrigger', function(e) {
	e.preventDefault();
	$.ajax({  
	  type: "POST",  
	  url: '[[~ID]]', 
	  data: {parent: '[[*id]]'},
	  success:  function(data) { 
		if (data){
		    $('#modalAjax').html(data);
		}else{
		  AjaxForm.Message.error('Что-то пошло не так, попробуйте позже!');
		}
	  } 
	}); 
});
23 октября 2023, 15:58
0
Попробуйте не [[~ID]], а [[#ID.content]]
23 октября 2023, 07:06
0
Может плагин какой реагирует на поле какое этого шаблона, мб поле какое от компонента какое то особенное, может смайлики где… много факторов.
13 октября 2023, 12:14
+1
Ответил ниже)
13 октября 2023, 11:23
0
В общем то, вроде надо у параметра:
&tplParentRow=`<li class="top-level__item"><a href="[[+link]]" class="top-level__link" [[+attributes]]>[[+pagetitle]]</a></li>[[+wrapper]]`

Добавить [[+classnames]]:
&tplParentRow=`<li class="top-level__item top-level__[[+classnames]]"><a href="[[+link]]" class="top-level__link" [[+attributes]]>[[+pagetitle]]</a></li>[[+wrapper]]`
13 октября 2023, 11:13
0
С выводом pdoMenu в целом, всё в порядке, дело в этом:


Попробовал сделать так:


И всё встало на свои места.
13 октября 2023, 10:58
0
На вид, всё нормально

13 октября 2023, 10:45
0
Скорее всего, проблема тут:
&tplParentRow=`<li class="top-level__item"><a href="[[+link]]" class="top-level__link" [[+attributes]]>[[+pagetitle]]</a></li>[[+wrapper]]`
&tplParentRowHere=`<li class="top-level__item active top-level__[[+classnames]] "><a href="[[+link]]" class="top-level__link" [[+attributes]]>[[+pagetitle]]</a></li>[[+wrapper]]`
&tplParentRowActive=`<li class="top-level__item active top-level__[[+classnames]]"><a href="[[+link]]" class="top-level__link" [[+attributes]]>[[+pagetitle]]</a></li>[[+wrapper]]`

У Вас [[+wrapper]] за пределами пункта li, попробуйте заменить на:
&tplParentRow=`<li class="top-level__item"><a href="[[+link]]" class="top-level__link" [[+attributes]]>[[+pagetitle]]</a>[[+wrapper]]</li>`
&tplParentRowHere=`<li class="top-level__item active top-level__[[+classnames]] "><a href="[[+link]]" class="top-level__link" [[+attributes]]>[[+pagetitle]]</a>[[+wrapper]]</li>`
&tplParentRowActive=`<li class="top-level__item active top-level__[[+classnames]]"><a href="[[+link]]" class="top-level__link" [[+attributes]]>[[+pagetitle]]</a>[[+wrapper]]</li>`
13 октября 2023, 10:21
0
Покажите вызов pdoMenu то, а то не совсем понятно, что не так…
11 октября 2023, 16:38
0
Советую читать документацию) ну и заглянуть вот сюда
11 октября 2023, 16:24
0
Зачем писать сниппет, если достаточно просто передать ТВ поле в pdoMenu?

[[pdoMenu?
        &parents=`7`
        &level=`1`
        &includeTVs=`categoryicon`
        &tpl=`liTpl`
]]

liTpl:
<li [[+classes]]>
        <span class="menu-icon">
                <img src="[[+categoryicon:default=`assets/images/category/default.svg`]]" alt="Icon">
        </span>
        <a href="[[+link]]" [[+attributes]]>[[+menutitle]]</a>
        [[+wrapper]]
</li>
05 октября 2023, 18:06
+1
А разве нельзя просто в renderChunk кинуть:
[[!pdoResources?
    &class=`msVendor`
    &where=`{'id':'[[+vendor]]'}`
    &tpl=`@INLINE [[+name]]`
]]
04 октября 2023, 14:03
+1
Добро пожаловать в мою статью)
Будут вопросы или сложности, пиши мне в телеграм, помогу обязательно!
03 октября 2023, 12:38
0
Таб — это понятно, когда сам пишешь, всё ровно. А если у тебя скопированный внешне код не ровный, выравнивать его табом быстро надоест…
02 октября 2023, 14:27
1
0
Дело в DKIM подписи…
1) Идёшь на biz.mail.ru
2) Добавляешь там новый проект (сайт) в админпанели
3) Меняешь DNS записи под mail.ru
4) После проверки DNS записей на biz.mail.ru, увидишь DKIM подпись, её тоже в DNS записи домена кидаешь
5) Ждёшь пару часов
6) Письма приходят! Профит!

P.S. В идеале, создать почтовый ящик на biz.mail.ru и через него, через SMTP отправлять письма
И вот тебе проверялка отправки писем: www.mail-tester.com/?lang=ru
Там исчерпывающе описывается, чего не хватает и, что можно улучшить.
01 октября 2023, 10:38
+1
Да, вчера столкнулся с такой проблемой на 1 проекте, решилось выдачей прав 777 на папку cache_image, прописанием этой папки в сис. настройках (почему то слетела) и очисткой кэша вручную. Не знаю, были ли какие то действия правильными или в целом нужными, но по крайней мере генерация превью в админке и на фронте заработала. В медиа источнике к сожалению, превью не отображаются местами, но это мне не мешает и заказчику не помешает тоже, ибо он будет грузить все изображения через MixedImage.
Ну и добавлю, что всё работает на phpThumbOn. И да, его я тоже переустанавливал на всякий случай.
02 августа 2023, 23:20
0
Вопрос возможно давно не актуальный, но вот решение:

<?php
switch ($modx->event->name) {
    case "msOnGetProductPrice":
        $returned = (array)$modx->getPlaceholder('_returned_price');
        if (!isset($returned['price'])) {
            return;
        }
        $id = $returned['id'];
        foreach (array_keys($options) as $k) {
            if (!empty($options[$k]) && is_array($options[$k])) {
                foreach ($options[$k] as $v) {
                    $q = $modx->newQuery('msopModification')
                        ->innerJoin('msopModificationOption', 'Option',
                            "Option.mid = msopModification.id AND Option.key = '{$k}' AND Option.value = '{$v}'")
                        ->select(array('price'))
                        ->where(array(
                            'msopModification.rid' => $id,
                            'msopModification.type' => 2,
                            'msopModification.active' => true,
                        ))
                        ;
                    if ($q->prepare() && $q->stmt->execute()) {
                        $price = $price - $q->stmt->fetchColumn();
                    }
                }
            }
        }
        $options = !empty($returned['msoptionsprice_options'])
            ? $returned['msoptionsprice_options']
            : (!empty($_REQUEST['options'])
                ? $_REQUEST['options']
                : array());
        $options = array_diff_key($options, array_flip(array('modifications', 'modification')));
        
        foreach (array_keys($options) as $k) {
            if (!empty($options[$k]) && is_array($options[$k])) {
                foreach ($options[$k] as $v) {
                    $q = $modx->newQuery('msopModification')
                        ->innerJoin('msopModificationOption', 'Option',
                            "Option.mid = msopModification.id AND Option.key = '{$k}' AND Option.value = '{$v}'")
                        ->select(array('price'))
                        ->where(array(
                            'msopModification.rid' => $id,
                            'msopModification.type' => 2,
                            'msopModification.active' => true,
                        ))
                        ;
                    if ($q->prepare() && $q->stmt->execute()) {
                        // $price = $price - $q->stmt->fetchColumn();
                        if ($price_add = $q->stmt->fetchColumn()) {
                            $price += $price_add;
                        }
                    }
                }
            }
        }
        $modx->event->returnedValues['price'] = $returned['price'] = $price;
        $modx->setPlaceholder('_returned_price', $returned);
        break;
}
19 июля 2023, 18:09
0
А при выводе если в pThumb добавить параметр ra=1 без фона?
Пример:
[[+icon:phpthumbon=`w=50&h=50&zc=0&f=png&ra=1`]]