Борис И

Борис И

С нами с 20 апреля 2014; Место в рейтинге пользователей: #71
Андрей
21 октября 2020, 11:33
1
+3
До выхода 2.8.1 нужно внести изменения из этого pull request — Fixing error 500 when viewing system information
Tomas
25 апреля 2017, 21:23
1
+1
Решается так:

Файл: /core/components/tickets/model/tickets/tickets.class.php

В 118 строке есть — TicketsConfig.editor

Заменить на TicketsConfig[\'editor\']
Максим Кузнецов
21 марта 2017, 12:24
1
+4
Вариант 1:
в чанках заменить
href="[[+link]]"
на
href="/[[+link]]"

Вариант 2:
В системных настройках изменить параметр link_tag_scheme на full.

Вариант 3:
для сниппета pdoTools задать параметр &pageLinkScheme.
Алексей Смирнов
17 декабря 2016, 19:22
1
0
Проверял уже и так (is). Не срабатывает.
Таким образом встает вопрос — как проверить пользователя… Пришел на ум пока только такой вариант:
[[!*id:input=`[[!+modx.user.id:memberof=`Administrator`]]`:is=`1`:then=`Авторизрован`:else=`НЕ авторизирован`]]
Вот как-то так…
maxamin
01 декабря 2016, 23:35
2
0
Реально работает!!!
Даже не ожидал что так просто.


В .htaccess:
RewriteCond %{HTTP:HTTPS} !=on [NC]
RewriteRule ^(.*)$ https://ruema.ru/$1 [R=301,L]
Павел Романов
06 июля 2016, 13:48
2
+2
Да, только в Revo их лучше прописывать не так:
[[*id:is=`15`:then=`[[$chunk]]`]]
а так:
[[$[[*id:is=`15`:then=`chunk`]]]]
Это из-за того, что парсер сначала выполняет все чанки на странице, а потом только выводит нужные в соответствии с условиями.
Во втором же варианте будут обработаны только текстовые строки и пустые [[$]], если условие не выполнено.

Но если используете Fenom, то можно не извращаться, поскольку там парсер работает по-другому:
{if $_modx->resource.id == 15}{$_modx->getChunk('chunk')}{/if}
Igor Ivanov
13 июня 2016, 11:10
1
+2
Решил! Проблема была в том, что $this->fileRecord получает свойства файла, который хотим редактировать, в том числе его атрибуты, и вот там в дате создания и в дате редактирования приходило названия месяца на русском в кодировке windows-1251, т.е. кракозябры вместо нормальной строки, хотя везде, где только можно, в системе указано utf-8. Это ломало $this->modx->toJSON. Решилось указанием локали в настройках MODX. Раздел core->Словарь и язык параметр locale пишем english. Не совсем понятно, почему работает без указания локали на php 5.4 и 5.3, а начиная с php 5.5 и выше, не хочет.
Владимир
09 июня 2016, 12:49
1
+4
что достучаться до любой страницы сайта при включенных ЧПУ можно дописав в адресной строке после имени домена ?id
, а если включать системную настройку
request_method_strict — Да, то этой «радости» «достучаться… по ID» не будет, и возможный дублей тоже не будет.
И плагин не нужен, это в все из коробки предусмотрено.
Николай Загумённов
25 мая 2016, 11:12
3
0
Путь до картинки можно менять не модификаторами во время, а при сохранении тикета, плагином на событие OnDocFormSave.
Заодно проверяет поле content на наличие картинок с таким путём и меняет 0 на id.
Может кому пригодится.
Мне пригодился этот пост. Спасибо за него.

<?php
switch ($modx->event->name) {

    case 'OnDocFormSave':
        if (is_object($resource) && is_array($resource->_fields)) {
            $data = $resource->_fields;
            $resource_id = $data['id'];
            // $modx->log(1, print_r($data, 1));

            $flds = $tv_values = array();
            foreach ($data as $key => $value) {
                if ($key == 'item_image')  {
                    $tv_id = 2; // id твшки с картинкой

                    $value = trim($value);
                    $tv_value = str_replace('assets/images/tickets/0', 'assets/images/tickets/' . $resource_id, $value);
                }
                if ($key == 'content') {
                	$content = str_replace('assets/images/tickets/0', 'assets/images/tickets/' . $resource_id, $value);
                }
            }
            if (!empty($content)) {
            	$res_obj = $modx->getObject('modResource',$resource_id);
            	$res_obj->set('content', $content);
            	$res_obj->save();
            	unset($res_obj);
            }
            // пишем в таблицу modTemplateVarResource
            if (!empty($tv_value)) {
                //$modx->log(1, print_r($tv_values, 1));

                	if (!$tv_obj = $modx->getObject('modTemplateVarResource', array(
                        'tmplvarid' => $tv_id,
                        'contentid' => $resource_id,
                    ))) {
                        $tv_obj = $modx->newObject('modTemplateVarResource');
                    }

                    $tv_obj->fromArray(array(
                        'tmplvarid' => $tv_id,
                        'contentid' => $resource_id,
                        'value' => $tv_value,
                    ));
                    $tv_obj->save();
                    // $modx->log(1, print_r($tv_obj->toArray(), 1));

                    unset($tv_obj);
            }
        }
    break;
}