Максим Кузнецов

Максим Кузнецов

С нами с 01 июля 2013; Место в рейтинге пользователей: #33
29 октября 2015, 13:44
0
UPD:

Или же решить задачу вообще методами css:
.container > .ul {} //topLevel
.container > .ul .ul {} //subLevel
29 октября 2015, 13:33
0
[[pdoField? &id=`[[+id]]` &topLevel =`0`]]
— но вызывать в каждом пункте меню такую проверку не лучшим образом скажется на производительности. Лучше вообще пересмотреть подход к решению.

Можно, например, использовать атрибуты ссылки документов, дописав в элементы верхнего уровня «topLevel», а в вызове pdoMenu проверять уже его наличие.
25 октября 2015, 01:47
0
1. Вы можете дописать нужное действие в плагине, срабатывающим на желаемое событие
2. Напрямую в сниппете — нет. Но в чанке вызова можно использовать hidden input-ы с нужными значениями или, если дефолтное значение можно переопределять, использовать фильтр :default.
25 октября 2015, 01:39
0
В системных настройках ticket'сов можно указывать путь до файла скриптов — вам нужно сделать копию файла и прописать путь до него, чтобы обновление не затерло ваши изменения.

А в целом — почти не костыль.) Только если добавленный комментарий определит новую страницу, то скрипт перенесет не на последнюю…
24 октября 2015, 16:12
0
А в чем здесь вопрос?

Upd: добавление нового комментария происходит при помощи аякса, возвращая комментарий методом append в нужный контейнер ('#comments' или '#comment-'+parent+' > .comments-list', если комментарий добавлен вложенным ответом). С выводимым сниппетом он уже никак не связан.

Для решения вашей проблемы, вы можете или переписать скрипт assets/components/tickets/js/web/default.js под себя, или отключить аякс-добавление для комментариев, или перезагружать pdoPage своим аяксом, при добавлении комментария.
24 октября 2015, 00:43
+1
На будущее — в админке есть кнопка «Перезагрузить права доступа».
23 октября 2015, 00:34
+1
Без понятия.)

Если смотреть по моему опыту — то пока во всех заказанных проектах магазинов приходилось писать свои стили, без бутстрапа.
23 октября 2015, 00:06
0
Мм… не думаю — бутстрап подключает множество неявных на первых взгляд условий (адаптивная верстка, например) и наследуемых параметров. Впрочем, все упирается в то, насколько сильно ваш дизайн отличается от стандартного с бутстрапом.
22 октября 2015, 23:56
+1
Нет, не нужен — но в таком случае кастомизировать визуальную составляющую придется самому через редактирования чанков и css.
22 октября 2015, 02:00
+4
Зачем нужен windows, если есть линукс?

21 октября 2015, 11:25
0
Возможно, на вашем хостинге закончилось дисковое пространство. Также советую проверить права пользователя, которым был выполнен запрос в консоли — возможно, он создал запись в кэше, которую потом не может перезаписать сайт (схожая тема).

По вопросу с этой сборкой, думаю, вам лучше обратиться непосредственно в modxclub.

Что же до нагрузочного тестирования — лично не ставил, но вполне может быть, учитывая комментарии непосредственно на хабре.
17 октября 2015, 19:24
0
Упс, извиняюсь, забыл дописать условие:
$( ".ms2_form input[name='count']" ).change(function() {
	if ($(this).val() < 5) {
		$.jGrowl("Минимальное количество товаров для заказа - 5 шт", {theme: 'error', position: 'center'});
		$(this).val("5");	
	}
});
16 октября 2015, 20:31
+2
Варианты с javscript-подсветкой не подойдут?
16 октября 2015, 13:21
0
Чанк для плейсхолдера [[+goods]] устанавливается внутри сниппета msGetOrder:
[[!msGetOrder?id=`[[+id]]` &tplRow=`ваш_чанк`]]

Если вам нужно подключать разные чанки, в зависимости от того, с какого устройства зашел пользователь (и вы определяете это через MobileDetect), то что мешает получить результат следующим образом:
<standard>[[!msGetOrder?id=`[[+id]]` &tplRow=`ваш_чанк_обычный`]]</standard>
<tablet>[[!msGetOrder?id=`[[+id]]` &tplRow=`ваш_чанк_для_планшетов`]]</tablet>
<mobile>[[!msGetOrder?id=`[[+id]]` &tplRow=`ваш_чанк_мобильный`]]</mobile>

В крайнем случае, если обработка сниппета сработает раньше, чем определение MobileDetect, вы можете написать простой сниппет, определяющий плейсхолдер в зависимости от версии устройства и его результат уже возвращать в tplRow.
16 октября 2015, 13:06
0
Скомпонуйте из параметров, которые используются в чанке фильтра свой лексикон и вставьте в нужном месте чанка. Например:
[[%mse2_[[+filter]]_unit_[[+idx]]]]
— а дальше, по аналогии с определением названия для фильтров по лексикону, добавляйте соответствующие записи.
16 октября 2015, 11:29
3
+3
Задача решается путем реализации 2х составляющих:

1. Js (идентификатор и алерт заменить на подходящие себе):
$( ".ms2_form input[name='count']" ).change(function() {
	$.jGrowl("Минимальное количество товаров для заказа - 5 шт", {theme: 'error', position: 'center'});
	$(this).val("5");
});

2. Плагин на события msOnBeforeAddToCart и msOnBeforeChangeInCart
<?php
if ($modx->event->name = 'msOnBeforeAddToCart' || $modx->event->name = 'msOnBeforeChangeInCart') {
	$values = & $modx->event->returnedValues;
	if ($values['count'] < 5) {
		$values['count'] = 5;
	}
}
— как-то так.
16 октября 2015, 10:53
+3
ох… ну вот опять…
13 октября 2015, 17:43
+1
Последняя версия shopkeeper'a для evo вышла в 2011 году. Не говоря уже о том, что сами разработчики modx'a перестали поддерживать ветку evo.

Для оптимизации скорости самого evo вы можете попробовать воспользоваться сборкой от Dmi3yy или перенести сайт на revo и более современный аналог интернет-магазина — minishop2, shopkeeper3 или shopmodxbox.
12 октября 2015, 21:52
0
… ничего не понял.

Если у вас есть структура вида:
- детская одежда
-- для мальчиков
--- верхняя одежда
--- штаны
--- ...
-- для девочек
--- верхняя одежда
--- штаны
--- ...
- список брендов
И в случае захода в подкатегорию и выбора требуемых опций через фильтрацию, у вас все отображается корректно, а через бренд — нет, то, скорее всего, проблема в определении параметра &parent для каждого раздела.
А вообще — приложите лучше коды вызова сниппетов, так будет намного более наглядно, чем «категории подподкатегорий»..)

Что же до второго вопроса — спрашивайте. Или можно обратиться вот сюда, например.