Fi1osof

Fi1osof

С нами с 05 мая 2014; Место в рейтинге пользователей: #10
Fi1osof
25 ноября 2015, 17:10
-1
Это «решение» только для текущего пользователя. А если вы сменили группу тысячи пользователям за раз?

Еще раз: нравится использовать isMember — используйте. У вас ведь, видимо, как минимум пятилетний опыт с MODX и вы уже все возможные шишки набили.
Fi1osof
25 ноября 2015, 16:13
0
Да, я не говорю, что его вообще не стоит использовать. Но вот из-за этого подводного камня действительно можно потом голову сломать почему права не меняются. Потому на заметку. В общем, если юзаете его и что-то идет не так — пробуйте полный сброс всех сессий через админку, потому как пункт «Перезагрузить права доступов» не поможет.
Fi1osof
25 ноября 2015, 16:08
0
Именно так. Оттуда и MODX берет данные для сессии, когда стартует ее. Но какой с этим минус есть, я выше написал.
Fi1osof
25 ноября 2015, 16:03
1
+1
isMember — злое зло. Он использует modUser::getUserGroupNames(), который группы получает из сессии пользователя. В итоге, не редки ситуации, когда пользоветелю меняешь группы (чтобы права сменить), а у него ничего не меняется, потому что у него уже сессия была начата, и пока он не перелогинется (или ему не сбросят сессию), isMember не увидит изменения групп.
На практике это доставляет не мало хлопот. Потому лучше написать свой небольшой запрос на проверку присутствия в группе, кешируемую, и при изменении прав просто сброс кеша актуализирует информацию.
Fi1osof
16 ноября 2015, 16:12
+4
Кстати, если кто будет экспериментировать на старых сайтах, имейте виду, что событие OnMODXInit появилось только в MODX-2.3.0. На более ранних версиях это не сработает.
Fi1osof
16 ноября 2015, 16:07
+1
Можно. Просто я плагины недолюбливаю. В них отладка хромает. Метадата в компоненте надежней. Вот еще советую к ознакомлению статью по теме.
Fi1osof
16 ноября 2015, 15:43
+1
Это гораздо ближе вот к этому (на коммунити этот пост был написан еще в 2013-ом году).
Fi1osof
13 ноября 2015, 14:12
0
Всегда пожалуйста!
Fi1osof
13 ноября 2015, 09:09
+4
Подробно ответил здесь.
Fi1osof
12 ноября 2015, 19:03
0
Товар 1; Административный, Подвесной
Товар 2; Административный, Промышленный, Подвесной
Товар 3; Промышленный, Подвесной
У вас в msProductOption в value прописано сразу типа «Административный, Промышленный, Подвесной» одним значением, или три отдельных строчки «Административный», «Промышленный», «Подвесной» (то есть три строки на один товар)?
Fi1osof
11 ноября 2015, 09:26
0
По поводу панельки:
1. Сначала мы докрутим общую инфраструктуру, затем уже панелька для управления.
2. Без мастер-сервера она все же не будет полноценной, так как некоторые вещи слишком низкоуровневые. К примеру, те же хосты прописываются паппет-агентом. То есть даже если вы вручную пропишите что-то в хосты нгинкса, записи будут удалены. Это как с денвером: когда он рестартится, он перезаписывает hosts. Но без мастера предполагаются такие вещи как обновление версии MODX, массовая установка пакетов и т.п. Постараюсь чтобы она появилась как можно быстрее.
Fi1osof
10 ноября 2015, 23:58
0
neoserver.ru (у последнего есть конструктор конфигурации, что редкость на сегодня, и весьма не высокие цены).
Уточнение: у neoserver.ru судя по всему не SSD, из-за чего скорость чтения с дисков существенно ниже. Но компенсировать можно увеличением ядер и оперативки + memcached или типа того.
Fi1osof
10 ноября 2015, 21:49
0
1. Заказываете на любом понравившейся вам хостинг-площадке себе VPS-сервер, чистый, без всякого ПО, только чистая ubunta 14+.
2. Оплачиваете нам на сайте 2000 рублей и присылаете данные от сервера мне на n.lanets@modxclub.ru
3. Я прописываю там быстренько настраиваю связь с нашим мастер-сервером и с него идет установка ПО, сайтов и т.п.
Ваш сервер сразу будет подключен к серверу мониторинга, все сайты на нем будут отслеживаться.
Только сразу еще раз предупрежу, что панель управления пока еще в разработке, она будет позже. Но и цены потом будут выше. А пока сайты добавляются через нас, то есть просто присылаете информацию вида
'my_domain.ru':
          database_name: 'dbname'
          database_user: 'username'
          database_password: 'pass'
          modx_admin_username: 'modx_user'
          modx_admin_password: 'modx_pass'
P.S. лично мне из хостинг-площадок на сегодня более понравились fastvps.ru и neoserver.ru (у последнего есть конструктор конфигурации, что редкость на сегодня, и весьма не высокие цены).
Fi1osof
01 ноября 2015, 23:03
+1
А так не?
var p = Ext.ComponentMgr.create({
	xtype: 'panel',
	renderTo: "id" 
	,items: [
		new base.panel.Home()
		// и тут еще перечисление итемов через запятую xtype-ами или готовыми объектами
	]
});
Fi1osof
01 ноября 2015, 22:48
0
Не за что.

Вообще не надо добавлять create и т.п. на уровне инициализации. Из-за этого не получится инициализировать объект отдельно, без непосредственного рендеринга в страницу, для собственных нужд. К примеру, вы захотели вывести его во всплывающем окне? А там renderTo… В базовом случае (в том числе и в случае с modExtra) вообще шаблон не нужен. И если надо вывести свой элемент в страницу, правильней писать так:
$this->modx->regClientStartupScript('<script type="text/javascript">Ext.onReady(
	function(){MODx.add("my-xtype")});</script>', true);
Или так:
$this->modx->regClientStartupScript('<script type="text/javascript">
	Ext.onReady(function(){MODx.add(new MyClass(params))});</script>', true);
Раньше, когда в MODx.add() можно было передавать только xtype и нельзя было передавать параметры, еще имел смысл как можно больше параметров прописать в сам класс. Но теперь можно на лету создать объект с передачей в него нужных параметров и добавить его через MODx.add(). А там уже пусть сам MODx разбирается куда это дело вывести в зависимости от версии MODX-а.
Fi1osof
01 ноября 2015, 19:19
-1
ОК, вырезал бы эмоции, возникшие в ответ на эмоции. Но сама суть очень сильно относится к топику, ибо в топике половина не правильно. Какой смысл удалить правильное и аргументированное, оставив неправильное? В чем профит?
Fi1osof
01 ноября 2015, 17:40
+1
ОК, с грубыми комментариями понятно. Но коммент, в котором аргументируются мои утверждения на счет renderTo и MODx.add() зачем удалять? Там все подробно расписано что и почему.
Вынес его в топик, пригодится.

P.S. вообще всегда убивала эта манера с технологий на эмоции переходить. Оценивать надо технологии правильно в них что-то или не правильно, а не то, кто что и как сказал.
Fi1osof
01 ноября 2015, 13:29
+1
В MODX, для рендеринга своих компонентов в страницу, лучше использовать не renderTo, а MODx.add(Object||xtype). В старых версиях MODX можно было передавать только xtype, на сколько я помню, но уже давно (по-моему с версии 2.3.0) передавать можно и объект.
Этот метод предпочтительней, так как рендерит элемент в специально отведенный див, в котором корректно будет учитываться высота экрана и т.п. Иначе рескуете намучиться со скроллом (точнее его отсутствием).
Fi1osof
30 октября 2015, 20:48
0
Именно, не повлияет. И все, что будет сделано для этого модального окна, никак не отразится на основном редакторе. На самом деле совсем не хочется долго это мусолить. Пусть каждый останется при своем мнении. Я останусь.

И где еще оно используется?
Не обязательно используется, но может, в том же табличном редакторе. Ничего не стоит вызвать окно редактора, а и обязательно через события дерева.