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

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

Был в сети 04 августа 2021, 21:51
Заказы принимаю
[[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"
	}`
]]
Просто, блин, невероятно..)

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

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

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

Ну и бонусом:
Народ к нам и раньше не мало обращался
Мы тоже как бы не безызвестные
могу заверить, не мало народа это оценило и обратилось
— действительно, кому пиар а кому просто информирование..)
Да забей, ничего не нужно. %)

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

В результате пятая строчка вернет «подарок у тебя в туалете)».
Сколько не вчитывался, так и не понял, что из этого «готовое решение». Ну, допустим.

Раз вы не знали о существовании такой особенности в 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'));
			}

		}
	
	}
Скорее всего, придется расширять функцию 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}
Бесспорно, системой пользуются люди с разным багажом знаний. Но какое это имеет отношение к моему комментарию?

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

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

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

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

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

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

UPD: Возможно, лучше джоинить изображения, чем вызывать в каждом комментарии pdoResources или расширить таблицу комментариев, чтобы в ней хранилась информация о том, есть ли у комментария прикрепленные файлы.