Дмитрий Суворов

Дмитрий Суворов

С нами с 01 августа 2013; Место в рейтинге пользователей: #184

Как узнать ID страницы и вывести ее в шаблоне?

ДЕРЕВО -> prntscr.com/f10lwp

страница с id 1661 имеет свой шаблон (но можно наверно и тв.поле сделать, главное за что-то зацепиться)…
находясь в любой категории главной категории (id 1) в шаблоне получить ссылку на страницу с id 1661.

делал так, но ид страницы берет id1… впрочем оно и понятно… не пойму как углубиться и найти нужную страницу.
{var $catId = $_modx->runSnippet('pdoField', [
  'id' => $_modx->resource.id,
  'where' => '{"template:7"}',
  'field' => 'id',
  'topLevel' => 2
])}
UDAV
26 апреля 2017, 11:52
modx.pro
1
6 475
0

Тест вложенности ресурса в контейнер [с блекджеком и плюхами]

Проверить, есть ли контейнер в списке родителей ресурса, можно разными способами:

  • Можно сделать это используя карту ресурсов, которую MODX создаёт для каждого контекста после обновления кеша. Для этого необходимо воспользоваться методом $modx->getParentIds. Таким образом нагрузка и время затрачиваемое на проверку будет минимальным.

  • Не заморачиваться и сделать всё исключительно на Fenom, без модификаторов. Тут мы тоже можем воспользоваться методом $_modx->getParentIds, который Василий услужливо вынес в список доступных в Fenom.

  • Можно даже извратиться до того, что на каждую такую проверку получать объект через getObject('modResource') + получать объекты его родителей через getOne('Parent'). К слову, что будет в случае, если нам, к примеру, надо проверить 50 товаров на странице на вложенность в определённую категорию?
    Ради интереса, я воспроизвёл подобную ситуацию на тестовом сайте Modhost:
    1. Без каких-либо проверок 50 товаров в списке категории выводятся за 0,0282 сек.
    2. С подобной проверкой, за 0.1304 сек.
    3. С проверкой, которую мы рассматриваем в этом посте, за 0.0307 сек.

    А потом заказчики сходят с ума, почему их сайт так долго открывается...
Павел Гвоздь
26 апреля 2017, 05:28
modx.pro
17
4 293
+15

Формирование нескольких заказов в miniShop2

Всем привет.

Помогите пожалуйста, мне необходимо формировать несколько заказов. На сайте есть партнеры (использую производителей) Мне нужно, когда пользователь покупает услуги/товары у разных партнеров, то это разные заказы. Каждому партнеру по заказу.
Игорь Игамов
19 апреля 2017, 13:51
modx.pro
2
2 565
0

MiniShop 2 плагин msOnBeforeAddToCart

Доброго дня всем!
Не нашел подходящего решения остатков для одного магазина, решил допилить сам.

Хочу проверять кол-во добавляемого товара в плагине msOnBeforeAddToCart и в msOnBeforeChangeInCart (давно модифицировал работу minishop2, но хочу вынести изменения, чтобы можно было обновляться).

Проблема состоит вот в чем:
Не могу получить доступ к корзине, хотя объект передается, файл: mscarthandler.class.php

$response = $this->ms2->invokeEvent('msOnBeforeAddToCart', array(
                'product' => $product,
                'count' => $count,
                'options' => $options,
                'cart' => $this,
            ));
При попытке в плагине обратиться к $cart не получаю никакого результата.
Задача — получить количество этого товара в корзине. В mscarthandler.class.php обращение происходит вот так:

$this->cart[$key]['count']
Но все, что внутри плагина могу узнать о $cart — то, что это объект методом is_object()
Олег
19 апреля 2017, 13:50
modx.pro
1
3 387
0

Вставка копирайтов при копировании текста на сайте

Головная боль многих новостных сайтов — копирование оригинального текста и его использование на других сайтах.
В качестве официального решения проблемы — предлагается автоматическое добавление копирайтов при копировании текста в буфер обмена. Копирайт может содержать ссылку на сайт-источник, что дает дополнительное SEO преимущество.
Ниже я предлагаю найденное мною и немного оптимизированное решение этого вопроса.
Николай Савин
18 апреля 2017, 16:43
modx.pro
18
4 351
+7

Поголовная проблема с .WWW у многих – как решить?

Приветствую

Тестировал сегодня сайт на HTTPS и в целом все работает нормально. На сайте также настроен редирект с www.site.ru на site.ru, но заметил, что картинки, скрипты, стили и другие файлы доступны сразу по двум адресам: www.site.ru/images/image.png и site.ru/images/image.png.

Решил посмотреть что же там у меня в .htaccess, а там на первый взгляд все нормально: есть правила редиректов с www на без www и с http на https и другие правила, а созданные в админке страницы редиректят корректно.

За неимением точных познаний в настройке правил редиректа решил найти инфу в сети, а также посмотреть как обстоят дела у других сайтов на MODX, в том числе некоторых людей. Каково же было мое удивление, когда я обнаружил у семи из десяти первых попавшихся мне сайтов такую же ошибку в работе.

Подскажите пожалуйста как корректно настроить редиректы для всех файлов сайта.
weranda
17 апреля 2017, 10:56
modx.pro
3
1 005
0

Почему источники файлов всегда открыты?

Есть большой нагруженный сайт с забитыми источниками файлов для BannerY,Tickets, ms2Gallery и miniShop2 (не считая стандартный источник Filesistem).

И в момент открытия вкладки Файлы начинают подгружаться все открытые источники файлов с сотнями папок.
Василий Столейков
17 апреля 2017, 06:17
modx.pro
4
1 732
0

Опция товара minishop2 с дополнительным полем

Добрый день.

Стоит, на первый взгляд, простая задача, но не знаю с какой стороны подступится.
Требуется сделать опцию «Вышивка» к товару, т.е. что бы кликнув на чекбокс можно было добавить такую опцию к товару и увеличить стоимость товара на установленную сумму (например 100 р.). Но! Надо, что бы вместе с такой опцией можно было бы в текстовое поле добавить сам текст вышивки и что бы он вместе с опцией ушел в заказ. Пересмотрел несколько дополнений (msOptionsPrice2, msFieldsManager, msAddLinked) и не могу понять — могу я с их помощью реализовать задуманное или нет?

Или надо писать что-то свое?

Буду благодарен за любую идею или подсказку. Спасибо.
Nikita
10 апреля 2017, 16:51
modx.pro
3
2 527
0

Как правильно поставить условия в MODX Revo

Мне нужно поставить 2 условия:
Первое:
Чтобы у дочерних элементов 2 уровня у родителей (с id=8 и id=40) был один фрагмент на вывод, а у других уровней (1ый, 3ий и последующие) другой фрагмент кода.
Например:
Директор
-Зам.директор
--Помощник зам.директор
---Начальник отдела
Нужно чтобы у помощника был один код на вывод а у зама и начальника другой.

Второе:
Как поставить условие на наличие дочерних элементов?
Ну типа если есть дочери то это иначе то.
Влад
09 апреля 2017, 09:11
modx.pro
1
4 260
0

Как изменить цену в корзине исходя из веса?

В корзине особенная логика формирования цены должна быть, и она зависит от веса (weight), а не от количества.
Если в коротко, то при достижении веса например в 400 грамм суммарно для всех товаров в корзине должна применяться для всех них скидка в 20% например.

Это нестандартная задача, обычно оптовые цены зависят от количества, а не от веса.

Я вижу решение проблемы из двух этапов:
  1. бэкэнд из плагина
  2. фронтэнд на js-кэллбэке
По первому нашел много старых примеров, например тут и тут, но все они нерабочие и плагин ругается в логи.
Василий Столейков
06 апреля 2017, 04:38
modx.pro
4
4 515
0