Как добавлять свои таблицы в modx 3.0.1 ?

До выхода 3 версии modx отлично работали CMPGenerator, CMPGeneratorPro и UICMPGenerator
Есть аналоги для 3 версии?
Илья
27 июля 2022, 16:35
modx.pro
728
0

Переменная в пути обьекта в FENOM

Подскажите, может кто знает как подставить переменную в путь объекта?

Например итоговый вывод такой: $resp->material->wall->width, но нужно что-то на подобие $resp->material->($type)->width. То есть часть пути объекта является переменной. Всю голову сломал.

Вижу, что есть не понимание — пожалуй напишу детский пример.
Есть 3 значения в объекте $resp, которые нужно перебрать: wall, ceil, floor методом foreach. Внимание вопрос: как можно подставить переменную чтобы fenom сработал?
{foreach ['wall','ceil','floor'] as $type}
	{$resp->material->($type)->width}
{/foreach}
Евгений Лазарев
26 июля 2022, 14:09
modx.pro
693
0

Modx. Любые внутренние страницы сайта открываются с ошибкой 500?

Главная страница сайта работает без проблем.
При открытии любой внутренней страницы типа:
— site.ru/uwheru/
— site.ru/oiwer.html
Браузер показывает ошибку:
«Страница недоступна. Сайт site.ru пока не может обработать этот запрос.
HTTP ERROR 500»
Сайт работ на modx. Ошибки в файлах логов (/var/www/1diplom/data/www/site.ru/core/cache/logs/error.log):

(ERROR @ /var/www/1diplom/data/www/site.ru/core/components/ajaxform/model/ajaxform/ajaxform.class.php : 74) PHP warning: file_put_contents(/var/www/1diplom/data/www/site.ru/assets/components/ajaxform/js/config.js): failed to open stream: Permission denied
[2022-07-26 11:09:42] (ERROR @ /index.php) Error HY000 executing statement: 
Array
(
    [0] => HY000
    [1] => 3065
    [2] => Expression #1 of ORDER BY clause is not in SELECT list, references column '1diplom_diplom1.tvtpl.rank' which is not in SELECT list; this is incompatible with DISTINCT
)
vont.bedi
26 июля 2022, 11:51
modx.pro
870
0

Доработки на сайте

30 50 000
Добрый день, нужно реализовать на сайте указанный в ТЗ функционал с версткой и мобильной адаптацией

docs.google.com/document/d/1T6_hJ_rYLtFltcxH2wm6ZwjQCdTY4Sx4_KoPuL9d_Is/edit?usp=sharing

Почта для связи — info@dolmax.ru
Или вацап — 89117671829
Maxim
26 июля 2022, 11:25
modx.pro
365
0

Загрузка файла в tickets

Делаю на tickets каталог с возможностью добавления анкеты зарегистрированным пользователем, проверкой этой анкеты админом и публикацией анкеты после проверки. Анкета после добавления имеет статус не опубликовано, до момента пока админ не проставит галку опубликовано. В анкете застрял на добавлении видео-файла.
ДАНО:
1) TV *video
2) чанк tickets.form.create.tpl создания самой анкеты:
<form class="well create" enctype="multipart/form-data" method="post" action="" id="ticketForm">
...
<div class="col-md-12 col-sm-12 mt-2">
<label for="ticket-photo">Insert video (maximum size 3 Mb, only mp4)</label>
<div class="custom-file">
  <input type="file" class="custom-file-input" name="video" id="video">
  <label class="custom-file-label" for="customFile">Choose video file</label>
  <span class="error" id="error_video"></span>
</div>
</div>
3) чанк tickets.form.update.tpl обновления анкеты после публикации (на случай испарвления)
<form class="well update" method="post" action="" id="ticketForm">
....
<div class="col-md-12 col-sm-12 mt-2">
<label for="ticket-photo">Insert video (maximum size 3 Mb, only mp4)</label>
<div class="custom-file">
  <input type="file" class="custom-file-input" name="video" id="video">
  <label class="custom-file-label" for="customFile">Choose video file [[+video]]</label>
  <span class="error" id="error_video"></span>
</div>
</div>
4) Плагин, который запускается по событию OnBeforeDocFormSave. На OnDocFormSave форма после нажатия сохранить вообще зависает.

<?php
if ($modx->event->name == 'OnBeforeDocFormSave') {
      if($mode == 'new'){  
        if (!empty($_FILES)) { 
             
            $id = $resource->get('id');
            $folder = 'video'; // имя папки куда грузить, должна быть создана (в корне сайта)
            $path = MODX_BASE_PATH.'/'.$folder.'/'; // Путь от корня до нужного места
            $tv_name = 'video'; // имя нашей тв
             
            // все значения файла
            $nameFile = $_FILES['video']['name'];
            $typeFile = $_FILES['video']['type'];
            $tmpNameFile = $_FILES['video']['tmp_name'];
            $sizeFile = $_FILES['video']['size']; 
             
            $limit_size = 3*1024*1024; // 3 Mb - максимальный размер загружаемого файла
            $file_types = array("mp4", "MP4"); // доступные расширения для загрузки
            $extensionFile = substr(strrchr($nameFile, '.'), 1); // получаем расширение файла
             
            $NewNameFile = 'id_'.$id.'_'.date("m_d_y").'.'.$extensionFile;  // наше новое имя файла
             
            if(is_uploaded_file($tmpNameFile)) // проверяем зашёл ли файл
            {
                if($limit_size > $sizeFile)
                { // Проверка на размер
                    if(in_array($extensionFile, $file_types)){ // проверка на тип
                         move_uploaded_file($tmpNameFile, $path.$NewNameFile); // загрузка файла
                         $resource->setTVValue($tv_name, $folder.'/'.$NewNameFile); // запись в ТВ
                    }
                }
            }
        }
    } 
}
5) Создан источник файлов Video и выбран для TV video в настройках самого TV

Проблемы:
1) Видео файл передается в папку video в корне, но не отображается в TV video в самом документе.
2) Видео файл не передается при редактировании формы при tickets.form.update.tpl
3) При создании нескольких анкет файлы в папке видео просто затираются и в паке остается только один последний файл.

Есть ли у кого-то готовый рабочий пример передачи файла через тикет? Думаю, что накосепорил с событием и самимb чанками создани и обновления анкеты. Передаются все ТВ, загрузка изображений через msgallery, но один ТВ файл не хочет заводиться.
Антон
26 июля 2022, 00:49
modx.pro
903
0

Перенос интернет магазина на MODX

Требуется принести сайт corp-mebel.ru с сохранением функционала. Просьба предоставить стоимость с учётом необходимых дополнений, а так же предоставить две цены, с товарами и без, и сроки.

TG: @monterarty
Вячеслав Варов
25 июля 2022, 22:43
modx.pro
559
0

Сниппет вывода TV параметров при условии их наличия

пригодился для вывода списка параметров товара из TV
наименование TV берется из description
UPD: после долгих раздумий добавил в фильтр id категории
Stepan
25 июля 2022, 13:57
modx.pro
1 833
+1

Интеграция расписания приема врачей с 1С Медицина

Всех приветствую, попросили настроить синхронизацию и вывести на сайте расписание врачей из 1С Медицина через API 1С через режим FTP.
Со стороны 1С, программисты готовы сделать любую выгрузку в формате XML file, вот пример: prnt.sc/gmkXjK1xeB2Q
Но что с ним делать? В какую сторону смотреть?

Дали ссылку на руководство Практическое применение механизма WEB-сервисов в системе 1С: Предприятие: infostart.ru/1c/articles/327963/

Подсказали смотреть на разделы:

Раздел 3 более применим к ситуации
Раздел 2 — обращение к 1С
Константин
25 июля 2022, 08:02
modx.pro
922
0