Волков Николай

Волков Николай

С нами с 03 октября 2015; Место в рейтинге пользователей: #210
Волков Николай
13 марта 2017, 08:20
0
Вот для примера такой код у соответствующей функции в WordPress:

function wp_is_mobile() {
	        if ( empty($_SERVER['HTTP_USER_AGENT']) ) {
	                $is_mobile = false;
	        } elseif ( strpos($_SERVER['HTTP_USER_AGENT'], 'Mobile') !== false // many mobile devices (all iPhone, iPad, etc.)
	                || strpos($_SERVER['HTTP_USER_AGENT'], 'Android') !== false
	                || strpos($_SERVER['HTTP_USER_AGENT'], 'Silk/') !== false
	                || strpos($_SERVER['HTTP_USER_AGENT'], 'Kindle') !== false
	                || strpos($_SERVER['HTTP_USER_AGENT'], 'BlackBerry') !== false
	                || strpos($_SERVER['HTTP_USER_AGENT'], 'Opera Mini') !== false
	                || strpos($_SERVER['HTTP_USER_AGENT'], 'Opera Mobi') !== false ) {
	                        $is_mobile = true;
	        } else {
	                $is_mobile = false;
	        }
	
	        return $is_mobile;
	}
Волков Николай
12 марта 2017, 20:11
0
Если хочешь то могу глянуть на твоем сайте :-) getImageList — это сниппет в котором ну очень сложно допустить ошибку мне всегда казалось…
Волков Николай
12 марта 2017, 20:10
0
Ну тут зависит от того, каким образом настраивалась конфигурация… Либо в настройках самой TV в виде JSON, либо на странице самого MIGX. Для последнего случая, к примеру:


Волков Николай
12 марта 2017, 18:49
0
Хотя, если проблема в том, что сам чанк выводится, но адрес у картинки не верный, то возможно в slider_banner не правильно указано имя плэйсхолдера картинки. То есть в config у MIGX указан другой ключ для картинки.
Волков Николай
12 марта 2017, 18:47
0
[[!getImageList? &tvname=`slider` &docid=`[[+id]]` &limit=`1` &tpl=`slider_banner`]]
Попробуй заменить [[+id]] на [[*id]]
Волков Николай
12 марта 2017, 16:26
0
Приветствую. Я не понял смысла создания новых категорий при регистрации пользователя. Нельзя просто давать права на просмотр/добавление и т.п. в уже созданную категорию? Вообще можно подробнее как-то описать задачу?
Волков Николай
12 марта 2017, 16:20
0
Я вот только одного не понял: а собственно в чем вопрос?
Волков Николай
12 марта 2017, 15:31
0
Фишки node.js вне конкуренции, но это абсолютно из другой оперы, если честно.
Волков Николай
12 марта 2017, 15:30
-2
Сложность проекта будет расти, да. Но на хрен использовать MODx? Для крупных сервисов он только еще больше усложнять все будет. Реально node.js использовать вместе с MODx больше на баловство похоже, т.к. в разработке другие вещи использовать нужно.
Волков Николай
12 марта 2017, 15:09
0
Объекты, действительно жрут много памяти, если использовать getCollection в том виде, как у вас. В случае использования getIterator с памятью все значительно лучше. Также можно использовать такой способ:
foreach($modx->getCollection('Geolocations', $q) as & $obj) {
.....
}
Знак & после as и указание метода getCollection внутри foreach аналогично позволяет значительно снизить потребление памяти:-)
Волков Николай
12 марта 2017, 15:04
0
Да, очепятка небольшая:-)
Волков Николай
12 марта 2017, 15:03
0
Собственно некое подобие этого кода я и подразумевал третьим пунктом:-) Единственное в if условиями запихнуть prepare и execute и остальное в случае успеха.
Волков Николай
12 марта 2017, 14:39
0
$result = $modx->getCollection('Geolocations', $query);
$json = $modx->toJSON($result);
Адский ад какой-то. Зачем в JSON нужно хранить массив классов? Нужно, вроде данные только нужны? Поэтому:

foreach($modx->getCollection('Geolocations', $query) as & $geo) {
	$arr[] = $get->toArray();
}
$result = $modx->toJSON($arr);
Если с памятью беда остается, то можно прогнать через getIterator:

$geos = $modx->getIterator('Geolocations', $query);
foreach($geos as $geo) {
	$arr[] = $get->toArray();
}
$result = $modx->toJSON($arr);
Если и это не спасает, то вообще без объектов обойтись и работать на PDO.
Волков Николай
12 марта 2017, 14:21
-1


Не совсем понял прикола в значение класса прописывать именно в тэгах это. Можно объяснить?

P.S. Сам уже давно через PHP определяю устройство. Удобно в плагине на OnHandleRequest в плэйсхолдер заносить тип устройства, а потом уже через тот же fenom играть с шаблоном.
P.P.S. Для совсем крутых ребят AJAX или тот же React вообще вне конкуренции :-)
Волков Николай
09 февраля 2017, 16:42
0
Здравствуйте. Какие способы оплаты/пополнения счета должны быть?
Волков Николай
13 октября 2016, 17:01
0
Если хотите, то могу с вами связаться в скайпе и там можно будет все обсудить.
Волков Николай
13 октября 2016, 16:51
0
1) Тут без просмотра кода компонента что-то сложно сказать, т.к. часто получается так, что вообще проще с нуля переписать все.
2) если оплата будет юр. => юр., то от заявленного бюджета в 5000, с вычетом налогов и процентов по обналичке,, останется несколько меньшая сумма… Поэтому интересует возможность увеличения бюджета или по старинке переводами на счета физ. лица отделаться?
Волков Николай
25 августа 2016, 20:39
0
У меня по второму пункту была задача, что когда человек указывает свой E-Mail, то далее происходит проверка на его наличие в базе пользователей. Если мыла такого нет, то происходит регистрация + авторизация, а если нет, то появляется модальное окошко, в котором поле для ввода пароля. В своё время сделал это через Login + FormIt + AjaxForm
Волков Николай
25 августа 2016, 20:12
+1
Мне кажется, что в любом случае просто оберткой дополнение это быть не может, т.к. из коробки MODx заставить распределять доступы для отдельных страниц конкретным пользователям, можно разве что через создание групп пользователей для каждого пользователя. Судя по изменениям кода MODx в последних версиях, что-то в ближайшее время намечается новое, но все равно это из разряда наделок на будущее.
Волков Николай
25 августа 2016, 20:02
0
Хорошо, что кто-то наконец написал это, т.к. Очень часто задают вопрос по поводу этой задачи. Реализация далеко не сложная, но многим не понятно, как это сделать. Единственное два замечания к реализации:
1) Мне кажется, что письмо все таки лучше брать из чанка, а не настройки.
2) Такой вариант плох, когда нужно, чтобы производилась ещё и авторизация сразу после заполнения данных для заказа. В своё время стояла задача с этим пунктом и пришлось прилично подумать по этому поводу, чтобы ещё и минишопа оригинальный код не трогать.