Виталий Греков

Виталий Греков

С нами с 29 мая 2013; Место в рейтинге пользователей: #390
Василий Наумкин
21 июля 2015, 12:42
4
+3
<?php
if ($modx->event->name != 'OnDocFormPrerender' || $resource instanceof Ticket || $resource instanceof TicketsSection) {
    return;
}

if ($Tickets = $modx->getService('Tickets')) {
    $modx->controller->addLexiconTopic('tickets:default');
    
    $Tickets->loadManagerFiles($modx->controller, array(
        'config' => true,
		'utils' => true,
		'css' => true,
		'comments' => true,
    ));
    
    $insert = '
		tabs.add({
			title: _("comments"),
			items: [{
				xtype: "tickets-panel-comments",
				hidden: false,
				record: ' . $modx->toJSON($resource->toArray()) . ',
				parents: ' . $resource->id . ',
			}]
		});
	';
	if ($modx->getCount('modPlugin', array('name' => 'AjaxManager', 'disabled' => false))) {
		$modx->controller->addHtml('
		<script type="text/javascript">
			Ext.onReady(function() {
				window.setTimeout(function() {
					var tabs = Ext.getCmp("modx-resource-tabs");
					if (tabs) {
						' . $insert . '
					}
				}, 10);
			});
		</script>', true);
	}
	else {
		$modx->controller->addHtml('
		<script type="text/javascript">
			Ext.ComponentMgr.onAvailable("modx-resource-tabs", function() {
				var tabs = this;
				tabs.on("beforerender", function() {
					' . $insert . '
				});
			});
		</script>', true);
	}
}
Может и включу потом, да. Но пока это твой эксклюзив =)
Константин Ильин
02 июля 2015, 16:37
1
0
Добрый день!

Вопрос в выводе товаров мастеров:

я использую связь «один ко многим»

как вывести только master

Пробовал:
[[msProducts? &link=`1` &master=`0` &parents=`0`]]
Еще вопрос, правильно я делаю вообщем что использую связь «один ко многим» для вот такой реализации:
www.santech.ru/catalog/120/121/i774/

т.е. у master нет цены, только его вариации с ценами.
Володя
30 июня 2015, 22:33
1
0
думаю вполне можно сделать так gist.github.com/vgrish/fb6bf50ec53a5061a978
Виталий Киреев
15 июня 2015, 12:32
1
+2
[[+ключ.caption]], [[+ключ.measure_unit]], [[+ключ.description]]
Василий Наумкин
14 июня 2015, 22:22
2
0
Регулярная ошибка — это когда сайт отзывается на 2 и более доменных имени с одним шаблоном, в котором вызывается кэшированный [[++base_url]].

Кэш почистили, юзер зашел по одному имени — base_url закэшировался. Теперь при заходе на другое имя все ссылки выходят на первый домен, ajax запросы становятся кросдоменными, еще и стили могут потеряться.

Нужно или вызывать [[!++base_url]], или делать редирект на какое-то одно имя.
Мордынский Николай
09 июня 2015, 16:30
1
+2
Для контекста eu в настройках контекста переопределяйте основные переменные и все будет работать.

Если в контексте не определена переменная он ее берет из основных настроек, а основная настройка base_url у вас .fi

По идее где то тут или на bezumkin.ru была статья про многоязычность с поддоменами там все работало.

bezumkin.ru/sections/tips_and_tricks/2439/ вот она кажись
Василий Столейков
24 мая 2015, 13:36
1
0
Не могу понять, почему не подхватываются шаблоны для отдельных фильтров? Выводятся значения по-умолчанию. Не хотелось бы там что-то изменять — всё равно перезатрутся при обновлении.
Вызов такой:
[[!mFilter2? 
    &element=`getTickets` 
    &tpl=`tpl.blog-item`
    &includeTVs=`image,category,tags`
    &limit=`5`
    &sortby=`publishedon`
    &showEmptyFilters=`1` 
    &parents=`[[*id]]` 
    &filters=`
        tv|category,
        tv|tags,
        createdby:fullname
    `
    &aliases=`
        tv|category==category,
        tv|tags==tags,
        resource|createdby==author
    `	    
    &tplOuter=`tpl.mFilter2.outer.new` 
    &tplFilter.outer.tv|category=`tpl.mFilter2.filter.outer.category`
    &tplFilter.row.tv|category=`tpl.mFilter2.filter.option.category`	       
    &suggestionsRadio=`tv|category`
]]
Не подтягиваются эти шаблоны:
&tplFilter.outer.tv|category=`tpl.mFilter2.filter.outer.category`
    &tplFilter.row.tv|category=`tpl.mFilter2.filter.option.category`
Может быть я неправильно их указываю?
Павел Романов
19 мая 2015, 17:47
7
+3
На одном форуме народ соревновался в самом «компактном» решении этой задачи ))
Победило такое решение:
<?php
if($n!=''){
return= $n%10==1&&$n%100!=11?$w1:($n%10>=2&&$n%10<=4&&($n%100<10||$n%100>=20)?$w2:$w3);
}
Ну и вызываем:
[[Snippet? &n=`123` &w1=`год` &w2=`года` &w3=`лет` ]]
Воеводский Михаил
27 апреля 2015, 14:52
3
+1
Код плагина:

<?php
switch ($modx->event->name) {
    case 'OnUserSave':
        $tpl = $modx->getOption('emailTpl',$scriptProperties,'tpl.reg_user');
        if ($mode == 'new') {
            $message = $modx->getChunk($tpl,array_merge($user->toArray(),$user->Profile->toArray()));
            $email = $modx->getOption('admin_email');
            
            $modx->getService('mail', 'mail.modPHPMailer');
            $modx->mail->set(modMail::MAIL_BODY,$message);
            $modx->mail->set(modMail::MAIL_FROM,'noreply@from.ru');
            $modx->mail->set(modMail::MAIL_FROM_NAME,'Сервис уведомлений');
            $modx->mail->set(modMail::MAIL_SUBJECT,'Новый пользователь');
            $modx->mail->address('to',$email);
            $modx->mail->setHTML(true);
            if (!$modx->mail->send()) {
                $modx->log(modX::LOG_LEVEL_ERROR,'An error occurred while trying to send the email: '.$modx->mail->mailer->ErrorInfo);
            }
            $modx->mail->reset();
        }
        break;
}