Сергей Шлоков

Сергей Шлоков

С нами с 31 января 2013; Место в рейтинге пользователей: #3
Сергей Шлоков
13 января 2017, 10:44
+2
Ну если контент-манагер не в состоянии поменять местами строчки в шаблоне и не в состоянии освоить компонент Structures, то наверно ты прав. Готов вместо такого менеджера порекомендовать своего пятилетнего сына. Недорого. :)
Сергей Шлоков
13 января 2017, 10:36
+2
Версия 2.5.2 содержит критические исправления безопасности и закрывает известные методы взлома. Советую обновится.
Сергей Шлоков
13 января 2017, 10:32
1
+1
Я в своё время думал про такое, но так и не смог выделить все преимущества, чтобы заставить пользователей отказаться от использования шаблона
<head>
...
</head>
<body>
	[[$header]]
	[[$mainMenu]]
	[[$gallery]]
	[[$content]]
	[[$footer]]
</body>
Только лишние запросы в БД. А вариант с шаблоном даёт большую гибкость, особенно с fenom.

П.С. Ну и ещё есть дополнения типа Structures для блочного редактирования.
Сергей Шлоков
13 января 2017, 07:11
0
Особых требований по этому поводу нет.
Сергей Шлоков
12 января 2017, 09:23
0
Без опыта программирования мои подсказки вам мало помогут. Тем более, задача описана поверхностно.
Сергей Шлоков
11 января 2017, 11:39
0
У страниц с id 1 и 23 должны быть дочерние элементы.
Сергей Шлоков
11 января 2017, 10:14
0
В базовой версии права привязываются не к календарям, а к событиям. Для настройки прав для календарей нужно написать свой сниппет-обёртку и в нём описать описанные вами правила. Для запрета редактирования выставлять параметр сниппета readOnly=`1`.
Сергей Шлоков
10 января 2017, 22:50
0
Напрашивается только один вывод — автор дополнения удалил данный функционал.
Сергей Шлоков
07 января 2017, 13:57
+3
В модсторе же так: обычная цена — это цена себестоимости плюс 20% сверху для окупаемости, а на распродажи делают скидку в эти 20% и продают по себестоимости.
Всё совсем не так. Причём тут себестоимость modstore. Они берут 30% с цены продукта за предоставление площадки. Цену на продукт они не определяют. Её ставит разработчик! И скидка идёт не с доли modstore, а с общей цены. У modstore есть определенные расходы. И они никак не коррелируют с ценами компонентов. И даже полученные 30% от всех продаж могут не покрыть эти расходы. Поэтому устраивают акции для стимулирования продаж.

А кому не нравится размер скидки, стоимость пакетов и т.п. могут сделать свой магазин с блекджеком и клюшками.
Сергей Шлоков
06 января 2017, 21:24
+3
Можно короче
&where=`["DAYOFMONTH(ADDDATE('1970-01-01 00:00:00', INTERVAL modUserProfile.dob SECOND)) = DAYOFMONTH(now()) AND 
MONTH(ADDDATE('1970-01-01 00:00:00', INTERVAL modUserProfile.dob SECOND)) = MONTH(now()) and modUserProfile.dob <> 0"]`
Сергей Шлоков
06 января 2017, 19:42
+2
Решение, полученное самостоятельно на порядок ценнее, чем подсказанное. Попробуйте сами, а потом сравните с этим
DAYOFMONTH(IF(modUserProfile.dob>0,FROM_UNIXTIME(modUserProfile.dob),ADDDATE('1970-01-01 00:00:00', INTERVAL modUserProfile.dob SECOND))) = DAYOFMONTH(now()) AND 
MONTH(IF(modUserProfile.dob>0,FROM_UNIXTIME(modUserProfile.dob),ADDDATE('1970-01-01 00:00:00', INTERVAL modUserProfile.dob SECOND))) = MONTH(now()) and modUserProfile.dob <> 0
Сергей Шлоков
04 января 2017, 19:56
+2
Согласись, 90 строк лучше 420-ти?
И здесь сразу несколько плюсов:
1. Это работает теперь в том числе и на включенной компрессии.
2. Это не перетирает чужие кастомные скрипты.
3. Это не ломает чужие лейауты (сейчас, если кто-то переопределит на свой лад modx-layout, свой код его затрет).
4. Гораздо меньше кода (что обслуживать легче).
5. БОльшая обратная совместимость (не придется отслеживать версию MODX-а в случае, если в новой версии MODX-а будут изменения на уровне твоего текущего переопределенного блока контроллера).
Согласен со всеми пунктами. Поэтому, если ты не против, я твой код использую.
Честно говоря был уверен, что в лейауты админки никто не лазит.

В общем, если ты хочешь писать правильные компоненты, во-первых, меньше огрызайся и больше слушай других, а во-вторых, научись хотеть писать правильный код.
Слушать что, бесконечные оскорбления и фантазии? Это первый комментарий, где ты как более опытный товарищ помог решить проблему. Правда приправив опять же фирменным хамством. Видимо без этого никак. Но если первый и последний абзац выкинуть, то очень хороший разбор.

P.S. А еще лучше пуллреквест бы в MODX отправил. Там вопрос в двух строчках.
Они мой безобидный PR для отображения используемой памяти принять уже год не могут. А уж про PR с лейаутом и мечтать нечего. Они только критические PR принимают. Видимо интереса ко второй ветке у них уже нет.
Сергей Шлоков
04 января 2017, 15:38
+2
Постараюсь ответить вежливо.
Вот в админтулс ты нафига вот это переписал вот этим.
Если ты не понял зачем, может тогда ты себя переоцениваешь? За PR спасибо, но так как ты не понял смысла, то соответственно он ломает задуманный функционал. За $this->modx->smarty->get_template_vars() тоже благодарность, возьму на вооружение.
Написал что-то лично свое, что ломает работу других компонентов. Вот очередная жалоба поступила. Ты считаешь, это профессионально?
А чё не сотая, тысячная, миллионная для драматизма? Конфликты приложений существовали до меня и будут существовать после. А профессиональным я считаю дать знать автору о проблеме.
а то так и будешь писать код для новичков. А ведь наверняка мечтаешь о признании и среди опытных программистов.
Перечитай мою страничку. Я не вижу ничего позорного писать для новичков.

П.С. PR не приму по описанной выше причине.
П.П.С. Я один раз имел неосторожность обратить внимание на твой robots.txt. Твоими «благовониями» все браузеры пропахли. На те же грабли наступать не собираюсь.

У меня только единственное к тебе пожелание — «Коля, перепиши ты этот oneBooking!»
Сергей Шлоков
03 января 2017, 12:38
0
А почему нельзя сначала доки посмотреть?
Сергей Шлоков
03 января 2017, 11:49
+2
Что-то мне это напоминает. Вторая часть Марлезонского балета? Василий тогда уже всё сказал. Повторяться не буду.

По последнему абзацу… Чем же тебе помочь, брат? Может тебе отдыхать нужно побольше? Отвлекись. Найди что-ли девушку. Сходите в кафе или театр. Вокруг столько интересного.
Подумай на этим.
Сергей Шлоков
02 января 2017, 00:40
+5
Добавил 4 метода логирования (error(), warn(), info() и debug()) и несколько функций для коллекций и объектов — обновление, удаление, подсчет количества (см. последний примеры).
Думаю пока хватит. Жду ваших предложений. Одна голова хорошо…
Сергей Шлоков
01 января 2017, 18:36
+4
Запулил в оба репозитория. В официальном уже. В модсторе ждем конца праздников.
Сергей Шлоков
01 января 2017, 16:33
+2
Поддерживаю такое мнение.
если автор захочет продавать их на весь мир.
Т.е. в modstore будет опция кому продавать пакет?
Сергей Шлоков
01 января 2017, 15:35
+4
Рад что хоть документация пригодилась. Только слабо понимаю чем.
А если подключалось бы в виде приложения еще круче было бы.
Документация занимает в разы больше времени, чем разработка. А чтобы сделать в виде пакета, нужно перевести её на английский. Мне легче застрелиться. Могу сделать только для ru сегмента в modstore.