Вопросы

Подскановка id в поле alias.

Есть сниппет. Он создает документ.
Сейчас alias формируется из tv+рандом. Как сделать так чтобы в alias подставлялся id документа который был создан.
Код сниппета:
<?php
$profile = $modx->user->getOne('Profile');
$userid = $profile ? $profile->get('id') : '';

// Сниппет будет получать данные из формы методом POST
$title       =  $_POST['title'];
$content     =  $_POST['message'];
$introtext   =  $_POST['introtext'];
$description =  $_POST['description'];
$parent      =  $_POST['parent'];
$template    =  $_POST['template'];
$user_id     =  $_POST['user_id'];
$publishedon =  date('Y-m-d H:i:s');

// Если некоторые значения не будут указаны,
// они будут установлены по умолчанию
if (!$introtext)   $introtext = $title;
if (!$description) $description = $introtext;
if (!$parent)      $parent = 6;
if (!$template)    $template = 6;


// Создаем ресурс
$newResource = $modx->newObject('modResource');

$permitted_chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$alias = $userid.'-'.substr(str_shuffle($permitted_chars), 0, 32);

// Заполняем нужные значения
$newResource->set('pagetitle',$title);
$newResource->set('longtitle',$title);
$newResource->set('description',$description);
$newResource->set('introtext',$introtext);
$newResource->set('content',$content);
$newResource->set('alias',$alias);
$newResource->set('template',$template);
$newResource->set('published',1);
$newResource->set('parent',$parent);
$newResource->set('publishedon',$publishedon);


$id = $newResource->get('id');
// Сохраняем ресурс
if ($newResource->save()) {
  
// Очищаем кеш, чтобы изменения были видны сразу
  $modx->cacheManager->clearCache();
} 
$newResource->setTVValue('user_id', $user_id);
$newResource->setTVValue('project_status', '<span class="badge badge-primary">Відкритий</span>');
 
return true;
Сергій
10 марта 2020, 06:38
modx.pro
2
888
0

Настройка постоянных ссылок

Здравствуйте. В данный момент мой сайт формирует ссылки следующим образом: siteurl.com/page1.html
Однако, для моего проекта требуется, чтобы урлы также включали категории в которых они находятся: siteurl.com/blog/page1.html
Все ресурсы опубликованы и вложены в категории, например «blog»
joxi.ru/1A5v59yTGpKaNr
Для «blog» также задан псевдоним
joxi.ru/Dr8jdnvCzdk8P2
В вордпресс это легко изменить в настройке постоянных ссылок. В Modx не совсем понимаю где найти данную опцию и как изменить шаблон формирования url. Подскажите, пожалуйста
Sergey
09 марта 2020, 10:30
modx.pro
777
0

hybridauth - redirect_uri не совпадает с Callback URL - нигде нет ответа!

Народ, никак не могу понять в чем дело, не авторизуется из Yandex и все тут!
Вывожу авторизацию по дефолту,
[[!HybridAuth?
            &providers=`Yandex,Google,facebook*,Vkontakte`
            &groups=`Users:2`
            ]]
Далее забираю get ссылку — она у меня вида — my-site.ru?hauth_action=login&provider=Yandex

перехожу и вижу 400 ошибку яндекса — yadi.sk/d/E6K2n97OgSBvWw

строка get такая:
https://oauth.yandex.ru/authorize?response_type=code&client_id=MY_ID&redirect_uri=https%3A%2F%2Fmy-site.ru%2F%3Fhauth.done%3DYandex&scope=&state=HA-724VQJW8AXSBUI3DNL1GZPKFY5HR6CMO90TE
В чем может быть дело, нигде нет ответа, вопрос актуальный для многих!
Sweet_Cookies
08 марта 2020, 22:29
modx.pro
4 506
0

Вывод меню через pdoMenu

Денис Мижеревич
08 марта 2020, 01:43
modx.pro
932
0

[РЕШЕНО]Tickets редактирование чужих тикетов

Есть необходимость с фронта редактировать чужие тикеты и всё гуд, кроме одного, файлы привязанные к тикету не загружаются. Т.е. условный автор написал статью и прикрепил к ней 3 фотографии, условный менеджер открыл эту же статью и захотел фотографии удалить, но фотографий нет, только пустое поле для добавления файлов. Если этот менеджер добавит фотографии в чужой тикет, то он будет их видеть. Отсюда делаю вывод что дело в id пользователя, но как это убрать? У автора права TicketUserPolicy у менеджера TicketVipPolicy. Вопрос как дать возможность менеджеру редактировать файлы в чужом тикете?
Артур Шевченко
08 марта 2020, 00:02
modx.pro
778
0

tagManager2 несколько контекстов

Подскажите пожалуйста, кто пользовался этим пакетом, поддерживает ли он несколько контекстов?
Algirdas
07 марта 2020, 14:33
modx.pro
695
0

Как загрузить кастомный класс или сервис в minishop2 ?

1. Сделал кастомный класс для оплаты, допустим MyPayment

2. Зарегистрировал как сервис минишопа

$miniShop2->addService('payment', 'MyPayment',PATH);

Все отлично работает. Но тут появилась необходимость использовать этот класс в отдельном снипете.
modx->getService судя по всему не подходит. Как правильно сделать?

Спасибо!
Sergey
06 марта 2020, 15:32
modx.pro
764
0

Не могу посчитать total

<div class="main-mask">
                <ul class="list-unstyled list-inline offer-price-1">
                    <li class="price">$[[+tv.price]]<span class="divider">|</span><span class="pkg">
                    [[getImageList?
                        &tvname=`itinerary`
                        &totalVar=`daystotal`
                        &tpl=`@CODE: [[+daystotal]]`
                        &limit=`1`
                        &docid=`[[+id]]`
                    ]]
                        Days Tour</span></li>
                </ul>
            </div><!-- end main-mask -->
Пытаюсь таким образом вывести количество элементов в TV Migx, но правильное количество выводится только со второго раза, в смысле когда второй раз обновлю страницу. С первого раза везде выводит количество первого айтема. Если вызов делать некешируемым, то правильное количество вообще не выводится, а берется из первого айтема.
Algirdas
06 марта 2020, 10:43
modx.pro
1
912
0

Проверка доступа

Приветствую!

Есть закрытый сайт, в нем есть три уровня доступа, помогите настроить проверку.
Роман
06 марта 2020, 10:05
modx.pro
880
0

Настройка прав папкм core/cache

Всем привет. Кто подскажет как правильно задать права папки core/cache на VPS. Права стоят 755, задавал двумя этими командами:
chown -R root:www-data core/cache
chmod -R 775 core/cache
Но при очистке кэша программно
$modx->cacheManager->refresh();
сайт ломается и в админке ошибка об отсутствии на запись прав в папку core/cache.
Сервер на nginx/php7.2-fpm.
Сергей
06 марта 2020, 09:22
modx.pro
1 098
0