Abu

Abu

С нами с 24 декабря 2012; Место в рейтинге пользователей: #89
Abu
Abu
14 июня 2016, 15:36
+2
Имхо, экономия на спичках. Правильно настроенный сервер и сам все сжимает и передаёт в gzip deflate
Abu
Abu
05 июня 2016, 18:00
0
Таким же макаром получилось выводить extended поле в главном табе пользователя.

if (!$modx->getCount('modPlugin', array('name' => 'AjaxManager', 'disabled' => false))) {
            
            $profile = $user->getOne('Profile');
            $extended = $profile->get('extended');
            $field= $extended['field'];
            
            $data['extended-field'] = htmlspecialchars($field);
	    
	   ....
Вопрос: как сделать так, чтобы все нормально сохранялось в поле extended, если хочется без доп таблиц?
Abu
Abu
05 июня 2016, 12:44
0
Привет! Подскажите пожалуйста, а нет возможности в админке пользователю самому редактировать свой профиль?
Abu
Abu
20 мая 2016, 17:57
0
Тоже не хватает возможности автоматической регистрации, да и пароль открытым видом присылаемый на почту не есть гуд.
Abu
Abu
04 мая 2016, 19:11
+1
Только для ИП и Юриков?
upd. действительно, для физ лиц недоступно.
Abu
Abu
20 апреля 2016, 23:50
1
0
Вроде как TicketLatest [[+views]] вообще не обрабатывает. Но можно вызывать его так
[[TicketLatest?
        &tpl=`tpl.Tickets.comment.latest.Inf.Q`
    	&action=`comments`
    	&limit=`3`
    	&parents=`0`
    	&leftJoin=`{
            "View":{
                "class":"TicketView",
                "on":"View.parent = Ticket.id"
            }
        }`
        &select=`{
            "View": "COUNT(View.parent) as views"
        }`
     ]]
Abu
Abu
19 апреля 2016, 02:16
0
А как mfilter2 вызывать, класс подключил, но не работает, хоть убей, пытаюсь тикетсы вывести с ним.
Abu
Abu
01 марта 2016, 18:11
1
0
Мне помог плагин Ильи отсюда.
Abu
Abu
18 февраля 2016, 04:35
0
А как выводите с ссылками?
С msearch2 просто обернул ссылкой
<a href="[[~25]]?query=[[+tag]]">tpl</a>
Abu
Abu
18 февраля 2016, 04:26
+1
В системных настройках еще формат цен указывается, может там?
Abu
Abu
07 февраля 2016, 04:21
+1
Постараюсь его переделать под новое API. Из нововведений, обязательный Submit приложения на Review, в целом ужесточение политики использования без ключей, разве что справку из психдиспансера пока не требуют. Забил также на Одноклассников, из-за их долбанутой политики, теперь и эти…
Abu
Abu
25 января 2016, 20:41
+1
Тоже переехал недавно на firstvds т.к. некоторые сайты требовали расположения датацентра в России. Цена 450 в месяц, за OVZ 1gb RAM, cpuinfo пишет Xeon® CPU E5-2630 v2 @ 2.60GHz Полет нормальный.
Abu
Abu
20 января 2016, 20:55
1
0
Сделал такой плагинчик на OnDocFormPrerender, для родителя id=5 скрывать цену и артикул, case 26 скрывать introtext. Работает и при создании товаров.

<?php
switch($modx->event->name) {
    case 'OnDocFormPrerender': 
        if($mode == modSystemEvent::MODE_NEW) {
           $s = intval($_REQUEST['parent']);
        } else {
                    $s = $resource->get('parent'); //родитель товара
        }

        switch($s) {
        case 5: 
            $modx->regClientStartupHTMLBlock('
           
            <script type="text/javascript">
                Ext.onReady(function () {
                     var divs= Ext.get("modx-resource-main-left").child("fieldset");
                     divs.hide();
                });
            </script>
                        
            ');
            break;
        case 26: 
            $modx->regClientStartupHTMLBlock('
           
            <script type="text/javascript">
                Ext.onReady(function () {
                     var divs= Ext.get("x-form-el-modx-resource-introtext").parent();
                     divs.hide();
                     
                     var vendors = Ext.get("x-form-el-modx-resource-vendor").parent();
                     vendors.hide();
                });
            </script>
                        
            ');
            break;

        default: ; 
        }     
    break;  
}
Abu
Abu
01 января 2016, 14:33
0
С кэшированием проблемы и не разобрался как сделать сниппет доступным для pdopage.
Abu
Abu
01 января 2016, 14:17
0
Привет, Николай, на самом деле мой виджет, первый блин и довольно глючный. Так что если есть желание пилить — пили!) https://github.com/govza/InstagramWidget
Abu
Abu
27 декабря 2015, 00:13
1
+3
В копилку полезных плагинов — добавление тегов (опций modx_ms2_product_options) в поисковый индекс.

<?php
switch ($modx->event->name) {
	case 'mse2OnBeforeSearchIndex':

        $key = 'tags'; // имя опции товара
        $category = 0; // фильтрация по категории
        
	$mSearch2->fields[$key] = 1;
        $q = $modx->newQuery('msProductOption');
        $q->innerJoin('msProduct', 'msProduct', 'msProduct.id=msProductOption.product_id');
        $q->sortby('msProductOption.value','ASC');
        $q->select('DISTINCT(msProductOption.value), msProduct.id');
        $q->where(array('msProductOption.key' => $key));

        if (!empty($category)) {
        	$ids = $modx->getChildIds($category);
        	$ids[] = $category;
        	$q->innerJoin('msCategory', 'msCategory', 'msCategory.id=msProduct.parent');
        	$q->where(array('msCategory.id:IN' => $ids));
        }
        if ($q->prepare() && $q->stmt->execute()) {
        	while ($row = $q->stmt->fetch(PDO::FETCH_ASSOC)) {
        		$resource = $modx->getObject('modResource', $row['id']);
        		$resource->set($key, $row['value']);
        	}
    
        }
	break;
}
Abu
Abu
25 декабря 2015, 20:36
+1
Использовал конфиг из скриптов Василия, никаких проблем.
https://gist.github.com/bezumkin/3833852#file-addplace-sh-L42
Abu
Abu
23 декабря 2015, 23:51
0
Упс по мелочи менял js Офиса
assets\components\office\js\profile\default.js

$(document).on('submit', selector, function(e) {
			$(this).ajaxSubmit({
				url: OfficeConfig.actionUrl,
				dataType: 'json',
				beforeSubmit: function(data) {
				Office.Profile.setNew(elem);
последняя строчка вызов доп функции при submit

сама функция
setNew: function(elem) {
		var $newphoto = elem.find('input[name="newphoto"]');
		elem.find('input[name="photo"]', this.container).attr('value', $newphoto);
	}

};

Office.Profile.initialize('#office-profile-form');

как-то так
Abu
Abu
23 декабря 2015, 23:40
0
Да, на OnHandleRequest. Проверяет есть ли граватар и пустой ли профиль, тестировал с Office, все работает. Хотя, логичнее было бы на User(Before,Form)Save и т.п., но насколько я понял, при созданном пользователе подключение доп провайдера юзер не пересохраняется, плюс там еще проблемы с удалением фотки из профиля в Офисе (тут как раз таки сохраняется и не дает назначить другую фотку).