Александр Иванов

Александр Иванов

Был в сети 17 августа 2021, 17:19
Заказы принимаю
Здравствуйте Василий.
Если когда-нибудь обновите компонент большая просьба убрать избыточный код.
// // Display events
// $(document).on('mouseenter', '#Calendar .isevent', function() {
// 	$('#' + this.id + ' .event').show();
// });
// $(document).on('mouseleave', '#Calendar .isevent', function() {
// 	$('#' + this.id + ' .event').hide();
// });
Это всё равно делается средствами CSS :)

P.S. в остальном компонент классый уже 3 раз использую
Здравствуйте, столкнулся с похожей задачей и использовал ваш плагин, сохранение идёт, но у меня чекбоксы берутся из страницы с тегами:
<select name="tegs[]" class="form-control" id="ticket-tegs" multiple>
	[[pdoResources?
    &parents=`5`
    &depth=`0`
    &tpl=`@INLINE <option value="[[+id]]">[[+pagetitle]]</option>`
  ]]
	</select>
В tv такая конструкция:
@EVAL return $modx->runSnippet('pdoMenu',array('parents'=>5,'tplOuter'=>'@INLINE [[+wrapper]]','tpl'=>'@INLINE [[+pagetitle]]==<span><a href="/[[+uri]]">[[+pagetitle]]</a></span>||'));
На выходе получается, сохранение идёт но, как будто-бы передаёт значения в строку.
т.е. со стороны админки чекбоксы не отмечаются как активные.

Наверное есть смысл переписать конструкцию в tv?
Решил пробовать другой сниппет, но он периодически выдает ошибка и нагрузку на сервер.
Поэтому возвращаюсь к вопросу.
Я пробовал загрузить города и регионы на 5-ти и они ни на одном не загрузились.


С чем это может быть связано?
Если вы готовы посмотреть в админ панели я могу скинуть доступ по почте.
Если что вот моя почта: simox@inbox.ru
Буду премного благодарен )
Ответа от вас нет.
Сделал так
продублировал ecThreadRatingCustom и заменил rating_wilson
array(
        'rating_wilson_percent' => number_format($thread->get('rating_simple') / $ratingMax * 100, 3),
        'rating_simple_percent' => number_format($thread->get('rating_simple') / $ratingMax * 100, 3),
    )
Это не круто вообще но это бытсрее чем найти ответ в документации которой по рейтингу нет.
Вам бы стоило нормально документацию здесь переписать:
docs.modx.pro/components/easycomm/

А то ты его покупаешь, а потом нескольким веткам начинаешь собирать инфу о его работе.
При таком раскладе можно было tikets использовать, и заниматься тем же самым.

Ещё очень не понравилось то, что CSS дефолтный отключить нельзя, что загрузить его отдельно и подогнать под speedtest google
Решил проблему так, но это некрасиво. Может у кого получше есть варианты или всё таки предусмотрены варианты отсутствия картинки?
[[ms2GalleryImage?id=`[[*id]]`]]
<?php
$pdo = $modx->getService('pdoFetch');
$id = $modx->getOption('id', $scriptProperties, $modx->resource->id);
$rank = $modx->getOption('rank', $scriptProperties, 0);

$res = $pdo->getObject('msResourceFile',
	array('resource_id' => $id, 'rank' => $rank),
	array('loadModels' => 'ms2gallery','select' => 'url')
);

if(empty($res['url'])){
  $res['url'] = '/assets/cache_image/noimage_400x400_166.jpg';
}

return $res ? $res['url'] : '';
Ребята не знаю поможет кому или, но у меня заработал этот вариант
<?php
/*
&limit — лимит отображаемых и записываемых id страниц, по умолчанию 10
&show — отображать страницы или нет (0/1), по умолчанию 0 (будет записывать, но не отображать)
&snippet — наименование сниппета, с помощью которого будут выводиться данные (pdoResources, getResources и т.п.), по умолчанию 0 (false, то будет выводить данные с помощью modResource)
&parents — id родительского документа, по умолчанию 0
&tpl — наименования чанка с шаблоном, по умолчанию tpl.LastView.
&except — id исключаемых документов через запятую, по умолчанию 0.
&message — вывод сообщения, когда истории нет.

Пример:
// [[!LastView? &limit=`10` &show=`1` &snippet=`0` &parents=`0` &tpl=`tpl.LastView` &except=`[[++site_start]],404,502`]]
*/
$id = $modx->resource->id;

if (!isset($limit)) {$limit = 10;}
if (!isset($show)) {$show = 0;}
if (!isset($snippet)) {$snippet = 0;}
if (!isset($parents)) {$parents = 0;}
if (!isset($tpl)) {$tpl = 'tpl.LastView';}
if (!isset($except)) {$except = 0;} else {$except = split(",",$except);}
if (!isset($message)) {$message = '';}

// Проверяем исключения
if ($except != false) {
    $add = 1;
    foreach ($except as $value) {
        if($value == $id) {$add = 0;}
    }
}

if ($modx->resource->get('class_key') == 'modDocument') {
    if (!isset($_SESSION['viewed'])) {
    	$_SESSION['viewed'] = array($id);
  	} else {
		if (in_array($id, $_SESSION['viewed'])) {
			$key = array_search($id, $_SESSION['viewed']);
			unset($_SESSION['viewed'][$key]);
		}

		if (count($_SESSION['viewed']) > $limit) {
			array_shift($_SESSION['viewed']);
		}
		
		$_SESSION['viewed'][] = $id;
	}
}
// Предварительные проверки
if ($show == '1') {
    if (!isset($_SESSION['viewed'])) {return $message;}
	$ids = array_reverse($_SESSION['viewed']);
    if (empty($ids)) {return $message;}
}

// Выводим просмотренные страницы без вызова сниппета
if ($show == '1' && $snippet == false) {
    $output = '';
    foreach ($ids as $tsID) {
        if($tsID != $id) {
            $page = $modx->getObject('modResource', $tsID)->toArray();
            $output .= $modx->getChunk($tpl, $page);
        }
    }
    // Вывод результат в плейсхолдер или в результат работы
    if (isset($toPlaceholder)) {
        $modx->toPlaceholder(($toPlaceholder!=false?$toPlaceholder:'view'),$output,'last');
    } else {
        return ($output?$output:$message);
    }
}

// Выводим просмотренные страницы через вызов сниппета
if ($show == '1'  && $snippet != false) {
	$config = array(
		 'resources' => '-'.$id.','.implode(',', $ids)
		,'parents' => $parents
		,'limit' => $limit
		,'tpl' => $tpl
	);
    // Вывод результат в плейсхолдер или в результат работы
    if (isset($toPlaceholder)) {
        $modx->toPlaceholder(($toPlaceholder!=false?$toPlaceholder:'view'),$modx->runSnippet($snippet, $config),'last');
    } else {
        $output = $modx->runSnippet($snippet, $config);
        return ($output?$output:$message);
    }
}
а не
bezumkin.ru/sections/tips_and_tricks/1917/