Павел Гвоздь

Павел Гвоздь

С нами с 31 мая 2015; Место в рейтинге пользователей: #3
Павел Гвоздь
24 декабря 2015, 10:18
0
Нет, так он ошибку вываливает. У меня checkbox.items — это MixedCollection. И туда просто пушнув что-нибудь — ошибка:
Uncaught TypeError: checkbox.items.push is not a function
Но можно пушнуть переписав вот так checkbox.items.items.push({...}), но и так получается вот такой бред:


Да и после, при выполнении checkbox.doLayout(); также ничего не происходит.

А вот когда я делаю так, как у меня в посте выше checkbox.items.addAll([new Ext.form.Checkbox({...})]);, то всё норм с типами… у всех «S»… Вот только также ничего не происходит с отображением чекбоксов. :(
Павел Гвоздь
24 декабря 2015, 08:11
0
А я там чёт не могу найти у себя Ext.Container. Вообще у меня это всё дело в MODx.Window происходит.
Пробовал и так:
Ext.getCmp('mycomponent-window-create').doLayout()
и так:
Ext.getCmp('mycomponent-tab-1').doLayout()
и так:
checkbox.doLayout()

Всё одно — не перерисовывает ничего.
Павел Гвоздь
23 декабря 2015, 23:52
0
Нашёл различные расширения для CheckboxGroup, которые вроде как должны уметь подгружать данные с сервера (тут, тут, тут, тут), но не удалось ни один из них заюзать, где-то непонятно ничего, где-то ошибки сплошные вываливает. Может можно на том примере, что я привёл выше что-то сделать? Всю доку уже перечитал раз 5 по Ext.form.CheckboxGroup, и просто Ext.form.Checkbox, и Ext.form.MixedCollection. Но ничего для решения этой задачи не нашёл.
Павел Гвоздь
22 декабря 2015, 23:36
0
Будет ли возможность выставлять полям разный рендер для грида? Ну например полю user_id выставить render такой, шоб вместо ИДа в гриде отображался его username/fullname со ссылкой на редактирование профиля?
Павел Гвоздь
22 декабря 2015, 18:18
0
Я ж не говорил о копипасте. Да и убрав исходный код не означает, что куски кода платных дополнений не будут юзаться где-либо ещё. Может быть переименовав переменные или ещё как…
Павел Гвоздь
20 декабря 2015, 13:57
+1
Я тут демку подготовил. Позже сделаю её более информативной. А пока так — imgarea.pa6ok.ru/
Павел Гвоздь
19 декабря 2015, 11:32
+1
Так и тут без ключей. Не хочешь платные дополнения — добавляй поставщика без логина и ключа. А коли уж решил что-то приобрести — вводи ключ аккаунта. А как по твоему система поймёт, что это ты тот самый покупатель?..
Павел Гвоздь
19 декабря 2015, 09:46
+2
Классно. И сразу вопрос. Что с настройками, пакетами, неймспейсами, контекстами и другим, чем богат MODX?

Обновлено
И другой вопрос. Не проще ли сделать так, чтоб при нажатии кнопки на локалке, на боевом сразу применялись выбранные изменения не заходя на него и не загружая файл? Больше автоматизма. =) Например дать настройку, в которой будет указываться какой нибудь пароль, который необходим для выгрузки. А с локалки посылать этот пароль при отсылке изменений. Вроде безопасно.
Павел Гвоздь
18 декабря 2015, 07:47
0
К этому добавлять не вижу смысла. У этого совершенно иное предназначение…
Павел Гвоздь
17 декабря 2015, 12:13
+2
До меня дошло, что можно ж назначить сниппету параметр &pageVarKey=`page_hor`, а плагин сделать вот таким:
<?php
$page = $modx->sanitizeString($_GET['page_hor']);
if( $page != null )
{
	$pageIdTo = (int)$modx->resource->get('id');
	$site = $modx->makeUrl($pageIdTo, "", "", "full");
	
	$modx->sendRedirect($site);
}
Павел Гвоздь
17 декабря 2015, 11:54
0
Хотя в том случае была возможность назначить свой JSник определённым сниппетам pdoPage, а этот задевает все. :) Можно сделать проверку по id, но чёт не то. Более проще хотелось бы, чтоли. Тем не менее спасибо за вариант решения!
Павел Гвоздь
17 декабря 2015, 11:50
0
Супер! Спасибо, друг! Решение подменой pdopage.js отменяется. Твой вариант куда приятнее! :)
Павел Гвоздь
17 декабря 2015, 11:49
+1
Решил путём подмены стандартного pdopage.js.

Кому интересно, метод pdoPage.Hash надо заменить на вот такой:
pdoPage.Hash = {
	get: function() {
		if( typeof window.pdoPage_params === 'undefined' )
		{
			window.pdoPage_params = {};
		}
		return window.pdoPage_params;
	},

	set: function(vars) {
		window.pdoPage_params = vars;
	},

	add: function(key, val) {
		var hash = this.get();
		hash[key] = val;
		this.set(hash);
	},

	remove: function(key) {
		var hash = this.get();
		delete hash[key];
		this.set(hash);
	},

	clear: function() {
		this.set({});
	},
};
Павел Гвоздь
17 декабря 2015, 11:30
0
Благодарю, но это не то. Меня устраивает вариант лишь с кнопкой. И то, по приближению достижения оной я сделал, чтобы на неё кликало автоматом, ибо из коробки по скроллу с горизонтальной прокруткой не работает (не знаю, работает ли с вертикальной). Похоже только подменять стандартный pdopage.js, без этого никак, да? Либо сниппет pdoPage, что ещё хуже.
Павел Гвоздь
17 декабря 2015, 04:43
0
Спасибо. Ток я либо не пойму, как это поможет в моей ситуации, либо это в моей ситуации не поможет.

Попробую пояснить чётче. Мне нужно, чтобы при вызове сниппета pdoPage всегда загружалась первая страница результатов (параметр &page). Сейчас же он (параметр &page) переопределяется значением из $_GET['page']. А значение $_GET['page'] в свою очередь сменяется при переключении страницы, даже кнопкой "Загрузить ещё". Следовательно если пару раз тыкнуть "Загрузить ещё", а потом рефрешнуть страницу, то сниппет pdoPage подгрузит результаты начиная со страницы, на которой мы остановились, не подгружая при этом более новые записи. А постраничной навигации нигде нет, только кнопка "Загрузить ещё". В итоге имеем пользователя в недоумении: «Какого хрена пропали сегодняшние новости на главной странице?!»
Павел Гвоздь
16 декабря 2015, 16:09
0
Сделаю. Уже начал. Если есть соображения — готов выслушать.