Денис Богдановский

Денис Богдановский

Был в сети 02 апреля 2021, 23:13
Заказы не принимаю
У нас есть чанк Hello:

Привет, [[+name]]!
В чанке есть плейсхолдер. Мы хотим задать значение для этого плейсхолдера. Раньше нужно было использовать сниппет, который установит это значение. Но не теперь. Просто укажите нужное значение в параметрах чанка:

[[$Hello? &name=`Сергей`]]
На выходе мы получим:

Привет, Сергей!
Столкнулся вот с какой проблемой. На последней странице, допустим №4 pdoPage упорно выводит ссылку на следующую страницу №5 которой не существует.

<link rel="prev" href="/news?page=3">
<link rel="next" href="/news?page=5">
Вызываю pdoPage:

[[!pdoPage? 
            &element=`getTickets`
            &parents=`[[*base.blog-include-categories]]`
            &tpl=`base.blog-postMeta` 
            &depth=`1` 
            &tvPrefix=`` 
            &includeContent=`0`
            &context=`web`
            &showDeleted=`0`
            &tplPageWrapper=`@INLINE [[+prev]][[+next]]` 
            &tplPagePrev=`@INLINE <link rel="prev" href="[[+href]]" />` 
            &tplPageNext=`@INLINE <link rel="next" href="[[+href]]" />`
            ]]
и с параметром &parents всячески эксперементировал (думал цепляет ресурсы какие то) и с &tplPagePrevEmpty, &element, &pageLimit, &limit и много с чем, так и не понял в чем дело. Кстати, если выставить параметр &showHidden=`1` результаты не выводятся вообще.
2. У меня все содержимое head включая тэги
<head></head>
внутри чанка [[$head]], придется переделать все шаблоны, их не так много и времени ушло бы меньше чем для написания этого поста. Решил узнать есть ли еще какие нибудь пути решения.
Тоже очень интересует… средствами Tickets так и не смог реализовать считалку просмотров. С помощью hitspage сделал… приходиться каждый раз обнулять счетчик перед окончательной публикацией (так как пока пост пишем и редактируешь можно много накрутить просмотров ))
Илья, это я затупил… забыл кэш очистить. После очистки кэша все ок.

if (!$modx->user) {
  $modx->user = $modx->getObject('modUser', array('id' => 1));
  if ($_SERVER['REMOTE_ADDR'] == '192.168.1.1') {
      $modx->user->addSessionContext('mgr');
  }
Этот код работает. Спасибо, очень удобно стало.
Файл лежит тут manager/assets/modext/widgets/resource/modx.panel.resource.js

,getMainRightFields: function(config) {
        config = config || {};
        return [{
            xtype: 'modx-combo-template'
            ,fieldLabel: _('resource_template')
            ,description: '<b>[[*template]]</b><br />'+_('resource_template_help')
            ,name: 'template'
            ,id: 'modx-resource-template'
            ,anchor: '100%'
            ,editable: false
            ,baseParams: {
                action: 'element/template/getList'
                ,combo: '1'
                ,limit: 0
            }
            ,listeners: {
                'select': {fn: this.templateWarning,scope: this}
            }
        }
В версии 2.3.1 все пути указанны правильно и эта ошибка пропадает после обновление кэша браузера.