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

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

С нами с 01 июля 2013; Место в рейтинге пользователей: #33
29 июня 2016, 16:05
7
+2
'where' => '{
	"id:!=": '~ $_modx->resource.id ~'
}'
27 июня 2016, 16:06
+1
[[+title]], [[+alt]], [[+name]]
27 июня 2016, 15:15
0
[[pdoResources? &loadModels=`ms2gallery` &offset=`0` &limit=`0` &sortby=`rank` &sortdir=`ASC` &class=`msResourceFile` &tpl=`шаблон`
	&where=`{
		"parent": 0, 
		"active": 1, 
		"resource_id": 1
	}`
	&leftJoin=`{
		"425x319":{"class":"msResourceFile","alias":"425x319", "on":"425x319.parent=msResourceFile.id AND 425x319.path LIKE '%/425x319/'"},
		"588x375":{"class":"msResourceFile","alias":"588x375", "on":"588x375.parent=msResourceFile.id AND 588x375.path LIKE '%/588x375/'"}
	}`
	&select=`{
		"msResourceFile":"*"
		,"425x319":"425x319.url as 425x319"
		,"588x375":"588x375.url as 588x375"
	}`
]]
19 июня 2016, 15:32
+5
Просто, блин, невероятно..)

Человек благодарит за хорошую новость и спрашивает, за счет чего удалось снизить издержки, попутно делясь своим предположением.

Вердикт Николая:
многие не умеют читать, видимо, и мыслить
какие-то униженные и оскорбленные приходят, начинают все переворачивать с ног на голову, просто чтобы сознательно все выставить в дурном для нас виде

К слову:
не особо вижу ответной вежливости
— отсутствие «ответной вежливости» (в ответ на что, к слову?) != хамству.

Ну и бонусом:
Народ к нам и раньше не мало обращался
Мы тоже как бы не безызвестные
могу заверить, не мало народа это оценило и обратилось
— действительно, кому пиар а кому просто информирование..)
11 июня 2016, 10:13
+1
Просто добавьте следующий код к вызову и не потребуются никакие костыли:
&loadModels=`voteforms`
10 июня 2016, 17:17
+1
Да забей, ничего не нужно. %)

Если коротко:
— вторая строчка = уже зашифрованная строка
— третья = ключ, которым ее можно расшифровать
— четвертая = функция расшифрования с записью в переменную
— пятая = вывод этой переменной

В результате пятая строчка вернет «подарок у тебя в туалете)».
10 июня 2016, 17:05
+2
<?php
	$secret = pack("H*" , "b146b16b2978aa9c16b74dfc19d4a8c3665b8d5783ba2b7f6a93e1d37f9272977c6a5751af90a52642293d038aab8ffa");
	$key = "happybirthday";
	$peremennaya = mcrypt_decrypt(MCRYPT_BLOWFISH, $key, $secret, MCRYPT_MODE_ECB);
	echo $peremennaya;

Бери за так.)

UPD: ровно 5 строк, как и просил.
09 июня 2016, 12:54
+1
Спасибо. Не знал.)
09 июня 2016, 12:44
1
+3
Сколько не вчитывался, так и не понял, что из этого «готовое решение». Ну, допустим.

Раз вы не знали о существовании такой особенности в MODX'e, то, подозреваю, не знали и о том, что такие ссылки в СЕО являются дублями страниц и от них нужно бы избавляться. Примерно таким плагином:

<?php
	if ($modx->event->name != "OnHandleRequest" || $modx->context->key == 'mgr') {
		return;
	}

	//Если не главная страница вида '/'
	if (strtok($_SERVER['REQUEST_URI'], '?') != '/') {
		//Разбиваем ури на основную ссылку и гет-параметры
		$request_uri = explode("?", $_SERVER['REQUEST_URI']);
		$uri = $request_uri[0];
		
		//Очищаем от слеша в начале uri
		$uri = substr($uri, 1);
		
		//Если запрос идет  к index.php, то заменяем страницы вида /index.php?id= на чпу-шные
		if ($uri == 'index.php') {
			$id = intval($_GET['id']);
			
			//Если ресурс с таким id существует - редиректим
			if ($modx->getCount('modResource', array('id' => $id))) {
				$modx->sendRedirect($modx->makeUrl($id), array('responseCode' => 'HTTP/1.1 301 Moved Permanently'));
			}
			else {
				//Если url не чпу, то обработка OnPageNotFound не срабатывает и необходимо дублировать определение страницы 404
				$error_id = intval($modx->getOption('error_page'));
				
				//Если 404 страница объявлена в системных настройках и существует, то редиректим
				if ($error_id > 0 && $modx->getCount('modResource', array('id' => $error_id))) {
					$redirect_page = $modx->makeUrl($error_id);
				}
				//Иначе перебрасываем на главную страницу
				else {
					$start_id = intval($modx->getOption('site_start'));
					$redirect_page =$modx->makeUrl($start_id);
				}
				
				$modx->sendRedirect($redirect_page, array('responseCode'  => 'HTTP/1.1 404 Not Found'));
			}

		}
	
	}
07 июня 2016, 22:54
0
Возможно, стоит поэкспериментировать с параметром приоритета плагинов (вашего и tickets'a).
06 июня 2016, 14:40
2
+2
Скорее всего, придется расширять функцию saveComment в
core/components/tickets/model/tickets/tickets.class.php

Если использовать феном, то можно обойтись и без сниппета:
{foreach $thumbs | split as $thumb}
	<!--Получаем основное изображение из превью 120х120, к примеру -->
	
	<a href='{$thumb | replace : ".w120.h120" : ""}'>
		<img src='{$thumb}' width='120' height='120' />
	</a>
{/foreach}
04 июня 2016, 23:55
0
Только зарегистрировал чтобы проверить авторизацию — были проблемы со входом на основной аккаунт.

Не за что.)
04 июня 2016, 21:19
+2
При помощи GROUP_CONCAT(), например.
(это не говоря о том, что я предложил вариант и без джоинов, но с доп. проверкой для избежания лишних запросов)
04 июня 2016, 18:08
+1
Вы можете использовать плейсхолдер [[+idx]] для нумерации:
[[+idx:is=`1`:then=`class-1`]]
04 июня 2016, 17:17
0
Бесспорно, системой пользуются люди с разным багажом знаний. Но какое это имеет отношение к моему комментарию?

Или вы написали гайд для людей, не умеющих пользоваться поиском или хотя бы гуглом?
Да бог с ним, с гуглом, для тех, кто не в состоянии почитать описание/документацию к компоненту, который они приобрели?

UPD:
мне кажется, что чем больше гайдов, тем лучше
Больше != лучше.
04 июня 2016, 16:20
+1
Хех, неужели по теме «как заджоинить А к Б» правда нехватает гайдов?

(!!!) Особенно для ms2gallery: 1 (страница магазина), 2, 3, 4, 5, 6, 7, 8, 9, 10,11, 12
(на третью страницу поиска уже лень переходить)

Как скоро следует ожидать гайдов из разряда «как вывести заголовок ресурса в шаблоне»? =)
03 июня 2016, 18:45
0
Возможно ли получить в чанке tpl чистый урл от &pageId (без гет-параметра tag)? — на случай, если на странице поиска ресурсов по тегу реализована своя логика получения ресурсов с необходимым тегом (через свой гет-параметр).

Задачу, конечно, можно решить через
{pageId | url}/?name={$tag}
— но в таком случае идет двойная работа по формированию урлы — в чанке и в сниппете.

Плюс ко всему, если реализовывать теги по вашему примеру в документации, то в чанке со списком ресурсов русскоязычные теги будут представлены в виде:
?tag=Название
— тогда как на странице самого ресурса ссылки тегов, вызванные через tvssTags, будут представлены в url-кодированном виде.
03 июня 2016, 18:42
+1
Интересное решение) А что насчет нагрузки?

UPD: Возможно, лучше джоинить изображения, чем вызывать в каждом комментарии pdoResources или расширить таблицу комментариев, чтобы в ней хранилась информация о том, есть ли у комментария прикрепленные файлы.
29 мая 2016, 09:57
0
Без расширения как tickets, так и userfiles — вряд ли, хотя лучше спросить у автора компонента.
25 мая 2016, 02:32
1
+1
Зачем pdoParser/сниппет, если есть leftJoin?

'leftJoin' => '{
	"Parent": { 
		"class": "modResource",
		"alias": "Parent",
		"on": "Parent.id=modResource.parent"
	}
}',
'select' => '
	"Parent": "Parent.alias as parent_alias",
	//...
'