Баха Волков

Баха Волков

С нами с 10 ноября 2016; Место в рейтинге пользователей: #12
Баха Волков
18 марта 2020, 13:00
+1
$parents = $modx->getParentIds($modx->resource->id, 10, 'web'); // Тут массив родителей
$switch = [2 => 19, 3 => 20, 4 => 21];

return $modx->runSnippet('pdoResources', array('parents'=>$switch[$parents[1]], 'depth' => 0, 'limit' => 0, 'sortby' => '{"id":"ASC"}', 'tpl' => '@INLINE [[+pagetitle]]==[[+id]]', 'outputSeparator'=>'||'));
Что-то типа такого, пишу с телефона, не проверял
Баха Волков
12 марта 2020, 17:38
0
Нет Александр, чтобы не ввести в ещё большее заблуждение потенциальных покупателей компонента — у меня лично к тебе и к данному компоненту нет никаких вопросов.

Вопросы у меня к Дяде Егору у которого немного (с уважением) бомбануло и он наговорил всякого.

Кста, второй ответ считаю неверным, не всегда 2 варианта должны быть противоположностями, для меня полный ответ такой, советую брать на вооружение:

Отсутствие зависимостей — это плюс, а наличие — не минус
Баха Волков
12 марта 2020, 16:36
0
Вообще не понимаю этой суеты с jQuery. Это просто синтаксический сахар над js.Вполне себе удобный. Почему-то с бутстрапами, Guzzle и ещё кучей библиотек такого кипиша не происходит. А тут прям холиварище.
Это просто к слову

Каждый решает сам что лучше для него и легче — если проще писать с нуля и надоело в техподдержке решать вопросы совместимости, пиши с нуля. Удобно работать с jQuery, работай.
Могу ошибаться, но между сайтом и платным компонентом для использования других есть хотя-бы маленькое отличие.

С уважением к автору компонента, а то он наверное поседел
Баха Волков
12 марта 2020, 16:29
+1
Еще раз перечитал ваш комментарий и убедился, что у вас (прошу прощения за сленг, с уважением) бомбануло.

Чтобы хотя бы примерно иметь представление о новых „шаблонизаторах, фреймворках, библиотеках“. Где его брать? Дружище, не всем программистам как тебе, 20 лет (условный, вымышленный „дружище“. Никого не хочу огорчить.) или не все как ты, живут с мамой, смекаешь?
Тогда зачем учить „чистый новый js“? Просто потому что уже 2020? Это алогично. Простая максима: „Работает — не трогай“.
Я понимаю, бывают сложные, высоконагруженные проекты. Там конечно, без всего нового не обойтись. Но для большинства сайтов это не нужно. Хочешь учить новые езыки — молодец, учи. Но не надо нам, взрослым людям объяснять и доказывать, что мы должны учить все новое, потому что:
Это не странное решение. Оно логицки обоснованное. Это в твоей бОшке оно выглядит странным, дорогой мой МД
Дядя, JavaScript не новое и тем более не новый фреймворк, и не новая библиотека. Никто не говорит, что надо на Vue, Angular или React писать, дядя. JavaScript старый язык программирования.
Баха Волков
12 марта 2020, 16:21
+2
Дядя Егор, это уже не 5 копеек, а несколько сотен рублей, да и с учетом его падения наверное и тысяча наберется.

В целом, хотелось бы сказать, что я удивляюсь энтузиазму некоторых товарищей. Возможно, когда тебе 18-20 лет то ты открыт ко всему новому. Бросаешь вызов «старикам» и кричишь им, что уже 2020! Что надо все «переписать» от всего «старого» отказаться, потому что это 90 лишних кб.
Это получается, что jQuery старое, а JavaScript новое? Это даже не упрёк, ведь и я дурак начинал изучение веб-разработке с jQuery, а не с JS, но сейчас-то понимаю, что я сделал неправильно мне бы хотелось, чтобы новые стоматологи добирались до зубов через рот, а не наоборот.

Отвлекся маненько, извините. Так вот. «А давайте на сайтах-визитках или слегка посложнее все писать на чистом new js, ведь уже 2020, «камон!». Да давайте! Why not? Seriously. Да? А где время брать, чтобы это все переписывать? А чтобы все переписать, нужно еще время потратить. Чтобы хотя бы примерно иметь представление о новых „шаблонизаторах, фреймворках, библиотеках“. Где его брать? Дружище, не всем программистам как тебе, 20 лет (условный, вымышленный „дружище“. Никого не хочу огорчить.) или не все как ты, живут с мамой, смекаешь?
Я не смекаю. Речь про разработку компонента от разработчика чей уровень знаний наверное выше чем у условного разработчика сайтов-визиток. Еще раз дядя Егор, речь про компонент, а не сайт.

Да дело, наверное, даже не в том, чтобы найти время. Никто ведь не заставляет быть полиглотом. Дело наверное в том, где взять мотивацию выучить что-то новое.
Еще раз прошу ответить, новое — это JavaScript и соответственно jQuery 66 лет и уже большую пенсию получает?

Я не против jQuery, действительно на многих сайтах он есть, сам пользуюсь когда в ТЗ проекта не запрещено его использование и/или его использование не логично. И я даже не против jQuery в данном или в любом другом компоненте, но я за то чтобы у компонента было меньше зависимостей, тем более если их наличие нелогично.

Пара вопросов:
  • У меня небольшой сайт, jQuery не стоит, а мне нужен этот компонент, что мне делать?
  • Если отсутствие у компонента зависимостей — это плюс, то их наличие это?
Баха Волков
08 марта 2020, 23:39
+4
Комментариев нет, странно
Так что ради справедливости, выражаю благодарность от лица сообщества в котором состоят Баха, Bakha и ещё много других Бах.
Баха Волков
08 марта 2020, 23:34
0
Чем смог) Я давно пользовался и только с одним контекстом, потому и не могу подсказать
Баха Волков
08 марта 2020, 17:11
0
Права доступа к контекстам настраивал?
Баха Волков
08 марта 2020, 17:03
+1
Лучше задайте вопрос на форуме shopkeeper, там концентрация людей которые пользуются tm2 больше
Баха Волков
05 марта 2020, 15:00
0
Подумал и пришел к выводу, что и getChildIds не нужен, делай как предлагает @Евгений Webinmd
Баха Волков
05 марта 2020, 14:59
0
Я выше написал, я тоже могу написать компонент getGryobaniyPerviyChild и в нем отрендерить js скрипт который через 5 нахождения на странице будет редиректить на мой сайт, но это не значит, что компонент хороший
Баха Волков
05 марта 2020, 14:55
0
Ладно ладно @Михаил человек задал вопрос, попинали и хватит) Тем более 3 варианта решения подсказали, даже тот который его устраивает, а то в холиваре жертв будет много
Баха Волков
05 марта 2020, 14:39
+3
А ты языки программирования знаешь? Для того чтобы получить доступ к первому элементу массива разве нужно обязательно использовать цикл?
Баха Волков
05 марта 2020, 14:35
0
Сниппеты не делятся на MODX и на феном, у феном есть модификаторы, если речь об этом, то погугли модификаторы феном, прямо на этом форуме найдешь. А на счет сниппета FirstChildRedirect, то это компонент который создан человеком, а человек свойственен ошибаться, я не критикую Марка (автора компонента), но в реализации переадресации на этапе парсинга контента где и отрабатывает сниппета слишком поздно — это действительно нужно по-хорошему делать через плагин на какое нибудь раннее событие.

Вторая часть ответа: если хочется сделать силами феном, то нужно обратить внимание на класс micromodx где есть методы которые вызывают родные методы самого MODX. В твоём случае обрати свой взор на методы getChildIds и sendRedirect
Баха Волков
12 февраля 2020, 20:26
+1
@Сергей Шлоков рано поздравлять с возвращением?)
Баха Волков
12 февраля 2020, 13:44
+2
Помогите плиз. Хотя бы наводку какую-то
Держи наводку (Это один из самых простых решений, среди множства):

  • Создаешь 2 TV, например: price_rur и price_usd
  • Через html/css/js делаешь переключалку валюты и записываешь в куки выбранное значение пользователем,
    rur или usd и перезагружаешь страницу
  • Создаешь сниппет с названием например: getPrice и в коде проверяешь куку и зависимости от него возвращаешь значение из нужного TV
  • На месте вывода цены вызываешь сниппет getPrice
Другой способ:

  • Создаешь 2 TV, например: price_rur и price_usd
  • На страницу загружаешь js объект с ценами
  • Элементу с ценой указываешь селектор, теперь при переключении можно будет не перезагружать страницу, а просто брать данные из ранее выгруженных данных и вставлять в элементы
и т.д.
Баха Волков
12 февраля 2020, 13:30
0
День добрый! В ближайшее время я точно не планирую.
Баха Волков
11 февраля 2020, 11:09
+1
Если у вас нет магазина, то это делается простым js в строчек этак 20-40
Баха Волков
11 февраля 2020, 11:06
0
Вот тут как минимум ошибка
'id'=>'{$parent}'

Надо так:
'id' => $parent