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

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

С нами с 01 июля 2013; Место в рейтинге пользователей: #27
Максим Кузнецов
13 февраля 2017, 14:40
0
Вполне неплохой код, джоинами выйдет меньше запросов к бд, чем вызывать 2 сниппета.

Если хотите, можно сократить эту строчку:
&element = `pdoResources`
— т.к. дефолтное значение %)
Максим Кузнецов
12 февраля 2017, 23:22
0
Условие для TaggerGetResourcesWhere, который ограничит выборку только теми ресурсами, которые не являются контейнерами для других ресурсов.
Максим Кузнецов
12 февраля 2017, 00:16
+3
Для плагина нет подходящего узкоспециализированного события, а выставлять доп. выборку каждый раз на какой-либо общий эвент — неоправданно с точки зрения итогового быстродействия сайта.
Максим Кузнецов
11 февраля 2017, 21:22
+1
3000 рублей, 2 часа работы (с запасом на получение доступов).
На хостинге нужен крон.
Максим Кузнецов
10 февраля 2017, 14:08
0
Можете отправить pull-request с решением.
Максим Кузнецов
08 февраля 2017, 23:15
+1
Упс, извиняюсь, не заметил нужных строчек..)

У вас включены чпу и сопутствующие параметры в системных настройках? (friendly_urls и тд)
UPD: ну и на всякий случай — у вас переименован ht.access в .htaccess?
Максим Кузнецов
08 февраля 2017, 22:59
0
github.com/modxcms/revolution/blob/2.x/ht.access — восстановите ваш htaccess хотя бы до дефолтного. В вашем отсутствую строки, отвечающие за работу ЧПУ.

# The Friendly URLs part
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
Максим Кузнецов
08 февраля 2017, 22:45
2
+2
Вы можете сделать выборку необходимых ресурсов с тв-полем через обычный pdoResources, подключив в includeTVs нужное MIGX-поле, после чего разобрать их в чанке при помощи фенома:

{set $migx_array = $migx_tv_name | fromJSON}

{foreach $migx_array as $migx_row}
	{$migx_row['название_колонки1_в_migx']}, {$migx_row['название_колонки2_в_migx']}, ...
{/foreach}
Максим Кузнецов
08 февраля 2017, 19:01
0
Стараюсь не разворачивать лишний раз..)
Максим Кузнецов
08 февраля 2017, 15:45
0
Ошибка 500 — проблема со стороны сервера.
Попробуйте для начала удалить minishop2 и установить заново. Если это не поможет — смотрите логи сервера ТаймВебa.
Максим Кузнецов
08 февраля 2017, 15:34
1
+2
1. Создаем сниппет (random_list):
<?php
	$total = intval($total);
	$list = explode("||", $input);
	
	$random_items = array_rand($list, $total);
	
	$result = '';
	for ($i = 1; $i <= $total; $i++) {
		$result .= '<li>' . $list[$random_items[$i - 1]] . '</li>';
	}
	
	return $result;

2. Вызываем:
<ul>
	[[!random_list? &input=`Значение1||2||3||десять||8` &total=`3`]]
</ul>
Максим Кузнецов
08 февраля 2017, 00:20
+1
Видимо, тв-поле сортируется как строка, а не число. Попробуйте заменить тип тв-поля.
Максим Кузнецов
07 февраля 2017, 16:58
0
Странно, что после переадресации у вас появляется двойной слеш. Советую вначале посмотреть в сторону правил переадресации/склейки (htaccess или настройки nginx), после чего покопаться в плагинах сайта.

Ну и можно консоль браузера посмотреть на нужных страницах, может там что-то покажет.
Максим Кузнецов
07 февраля 2017, 16:57
0
Вполне обычные ссылки, если настроены переадресации.
Максим Кузнецов
07 февраля 2017, 16:33
0
Так, я же уже пояснил — «в некоторых событиях родителя может не быть в принципе». Если у вас все события имеют данный параметр и он одинаковый для каждого из них — оба варианта подойдут.
Максим Кузнецов
07 февраля 2017, 16:00
+1
Причина наличия данных строк в этом.
Максим Кузнецов
07 февраля 2017, 15:52
+2
Дружественные url — замена ссылок вида «site.ru?id=айди_страницы» на ссылки виде «site.ru/алиас_страницы/»

В вашем же скриншоте запечатлены хлебные крошки, реализованные через сниппет pdoCrumbs. Стили оформления — Bootstrap
Максим Кузнецов
07 февраля 2017, 15:48
0
Если для вашей задачи нет подходящих встроенных рендеров, то их необходимо написать самому:

1. В системных настройках для параметра collections.user_js указываете путь до файла со скриптами.
2. В файле со скриптами реализуете необходимую функцию, например такую:
var user= function(value, metaData, record, rowIndex, colIndex, store) {
	if (value != '' & value != null) {
		return '<a rel="nofollow" target="_blank" href="ссылка_на_профиль_пользователя_' + value + '">Профиль автора</a>';
	}
}
3. В настройках нужной коллекции, для нужного поля в колонку «рендерер» указываете название функции из шага 2