Всего 125 977 комментариев

Евгений Webinmd
19 декабря 2021, 20:25
0
попробуйте добавить
&resources=`[[+tv.soloistsList:default=`-0`]]`
вместо -0 можно попробовать 999999999999
Серый
19 декабря 2021, 20:21
0
Кажется дошло, работает, сделал так:
[[+total:isequal=`1`:then=`Soloist`:else=`Soloists`]]:
[[+tv.soloistsList:notempty=`[[+qq]]`:empty=`TBC`]]
[[pdoResources?
    &parents=`8`
    &resources=`[[+tv.soloistsList]]`
    &sortdir=`ASC`
    &limit=`10`
    &tpl=`soloistsListTPL`                  
    &includeTVs=`simpleText`
    &showUnpublished=`1`
    &processTVs=`1`
    &prepareTVs=`1`
    &setTotal=`1`
    &toPlaceholder=`qq`
]]
Это код карточки концертов, они другим снипетом выводятся на страницу списком и вот грабли — одна из них почему-то показывает тупо всех солистов сколько допускает параметр &limit.
Убираю из этого концерта солистов — подставляет TBC, и эта фигня вылезает в другой карточке.
Что ж я делаю не так?(
Евгений Webinmd
19 декабря 2021, 19:40
0
[[!pdoResources?
        &parents=`8`
        &resources=`[[+tv.soloistsList]]`
        &processTVs=`1`
        &prepareTVs=`1`
        &setTotal=`1`
        &tpl=`@CODE: [[+total]]`
        &toPlaceholder=`qq`
]]

Список ресурсов
[[+qq]]

Количество
[[+total]]

в tpl чанк ресурсов как обычно
Серый
19 декабря 2021, 19:33
0
Эх, как было бы прекрасно, если бы еще где-то примеры использования этих параметров были((
Тыкался так и этак — всё что угодно кроме количества даёт(
Направьте пожалуйста
[[+qq]]
[[pdoResources?
        &parents=`8`
        &resources=`[[+tv.soloistsList]]`
        &processTVs=`1`
        &prepareTVs=`1`
        &setTotal=`1`
        &tpl=`@CODE: [[+total]]`
        &toPlaceholder=`qq`
]]
Евгений Webinmd
19 декабря 2021, 00:55
0
ну тут не долго думая можно использовать 2 параметра из документации: toPlaceholders (тут будет список) и setTotal (тут будет количество результатов). Ну и в total уже будет число
Серый
19 декабря 2021, 00:18
0
В том и соль, что нет никакого числа.
Есть выводимые ресурсы в виде карточек и есть заголовок к ним.
Допустим у нас концерт и на нем выступает либо один солист, либо несколько, и вот надо как-то сделать автоматизацию, что елси pdoResources выводит один ресурс, то заголовок у нас «Солист:», а если более одного ресурса: «Солисты:» и ниже уже шаблончики этих солистов или солиста.
Или можно как-то «посчитать», получить значение выводимых ресурсов, в соответствии условию, в виде числа?
Евгений Webinmd
18 декабря 2021, 23:05
0
есть модификатор
declension (decl) — склоняет слово, следующее за числом по правилам русского языка. Например: 1 яблоко, 2 яблока, 10 яблок. Вторым параметром указывается выводить ли само число, по умолчанию выводится только подходящий вариант слова. Разделитель вариантов можно задавать третьим параметром, по умолчанию |

{6 | declension : 'яблоко|яблока|яблок'} // яблок
{3 | declension : 'яблоко|яблока|яблок' : true} // 3 яблока
{101 | decl : 'яблоко,яблока,яблок' : false : ','} // яблоко
Александр Мельник
18 декабря 2021, 20:07
0
Да. спасибо. Скорее всего вы правы, потому что я действительно стараюсь последний год не использовать синтаксис jquery и получаю дата атрибуты через dataset.
Баха Волков
18 декабря 2021, 19:57
+2
@Александр Мельник Это всё хорошо, но нужно отставить панику!

Сегодня обнаружил, что свойство form у response перестало указывать на конкретную форму..
Это временный глюк? Или так всегда и было и это меня глючит?
Получается если я нажму обновить ajaxform на всех своих сайтах, у меня придет в нерабочее состояние отправка целей в метрику, закрытие модальных форм.
А точно перестало? Александр, если бы вы пользовались github-ом, то могли бы удостовериться, что ничего не изменилось.

AjaxFrom, насколько я знаю, использует для отправки формы jquery.form, а он всегда возвращал 4-ым параметром jQuery объект.

Пытаюсь понять почему в более старых версиях AjaxForm я мог внутри события af_complete получить форму как const form = response.form и мог например сразу получить у нее data атрибуты. А теперь нет.
Вы путаете jQuery объект с Element, это проблема разработчиков которые изучали js через jQuery

response.form // jQuery object

response.form[0] // Element/HTMLElement
response.form.0 // Element/HTMLElement
response.form.eq(0) // Element/HTMLElement
response.form.get(0) // Element/HTMLElement

Как получить дата атрибуты формы с помощью jQuery?

const data = response.form.data()
console.log(data) // { attr: "value", foo: "bar" }

const foo = response.form.data('foo')
console.log(foo) // bar

Как получить дата атрибуты формы без него?

const form = response.form[0]
const data = form.dataset
console.log(data) // { attr: "value", foo: "bar" }

const foo = form.dataset.foo
console.log(foo) // bar

const foo = form.getAttribute('data-foo')
console.log(foo) // bar

const foo = form.attributes.getNamedItem('data-foo').value
console.log(foo) // bar
Сергей Шлоков
18 декабря 2021, 12:43
+1
Спасибо, что тестируете!
vrm13
18 декабря 2021, 12:28
0
тот же вопрос, крутил и так и этак, что-то не заводится. Например msOneClick с yandexdiskuploader получилось, там нужно было подключить css и js от yandexdiskuploader непосредственно в модальном окне и всё заработало, здесь тоже подключаю скрипты и стили, но всё равно дропзона не активна, может есть у кого решение?
Futuris
18 декабря 2021, 09:40
+2
Спасибо за вашу работу! Сайты на трешке, которые без e-commerce, фактически заработали. Отправил на чашечку кофе))
Виталий
17 декабря 2021, 17:14
0
Подскажите, как сделать чтобы только у определенных групп пользователей было такое ограничение по сумме корзины?
<?php
class myOrderHandler extends msOrderHandler
{
	public function submit($data = array())
	{
		$min_price_order = $this->modx->getOption('ms2_minimum_price_order');
		$cart_status = $this->ms2->cart->status();
		$currency = $this->modx->lexicon('ms2_frontend_currency');

		$userid = $modx->user->get('id');
		$user = $modx->getObject('modUser',array('active' => true, 'id' => $userid ));

	
		if($user->isMember(array('Administrator','Manager')) && $cart_status['total_cost'] < $min_price_order)
		{

			return $this->error( 'ms2_order_err_total_price', array(), array('price'=>$min_price_order, 'currency'=>$currency) );
		
		}
		
		return parent::submit($data);
	}
	
}
Giant Dad
17 декабря 2021, 14:30
0
Спасибо тебе, добрый человек!
Тодор
17 декабря 2021, 14:25
0
foreach ($gallery as $rank => $v) {
    $sql = "UPDATE {$modx->getTableName('msProductFile')} SET rank=".$rank." WHERE product_id=".$resource_id." AND file = '{$v}'";
    $modx->exec($sql);
}
Тодор
17 декабря 2021, 14:16
+3
ALTER TABLE `modx_ms2_orders` AUTO_INCREMENT = 100000
Роман
16 декабря 2021, 22:37
0
Исчезли вкладки категорий дополнительных TV
полей
Роман
16 декабря 2021, 21:54
0
Да, не помогло...(((
Александр Мельник
16 декабря 2021, 21:40
0
А я не вижу по скрину, что именно поломалось то? Ну разве что паддинги кое-где пропали.
Александр Мельник
16 декабря 2021, 21:34
+3
ведь как ни крути, софт который мы устанавливаем с modx.pro разрабатывается и поддерживается людьми энтузиастами, после основной работы. Понятно что ему не могут уделять столько времени чтобы всесторонне тестировать и доводить до идеала. Я это понимаю.