Петр Синечёв

Петр Синечёв

Был в сети 24 марта 2019, 16:14
Заказы не принимаю
Здорово!
А я добавил TV поле и при его сохранении плагин записывал значение в БД
case 'OnDocFormSave':
        $resource->set('content2', $resource->getTVValue('content2'));
        $resource->save();
        break;
Правда, я ожидал, что можно будет делать обычный вызов на странице документа
[[*content2]]
, но он почему-то возвращает массив
( [0] => content2 [1] => контент 2 [2] => default [3] => [4] => text )
Надо попробовать твой вариант!
Я из заметки не понял, добавленные поля должны где-то появляться? (имеется в виду окно редактирования ресурса)
Например добавил столбец content2 в БД и поставил плагин:
<?php
switch ($modx->event->name) {
	case 'OnMODXInit':
        $modx->map['modResource']['fields']['content2'] = 0;
        $modx->map['modResource']['fieldMeta']['content2'] = array(
               'dbtype' => 'mediumtext',
               'phptype' => 'string',
               'index' => 'fulltext',
               'indexgrp' => 'content_ft_idx'
        );
	break;
}
Ничего нигде не поменялось. Нужны еще какие-то манипуляции для добавление полей в форму редактирования ресурса?
А если потом понадобится сменить картинку — делать новые запросы или как?
менять саму картинку :D

[[+photo:avatar]]
+photo — это проверяется есть ли фото в профиле, если нет подставляется значение avatar. А оно откуда берется? Можно его подставлять из системных настроек? (заранее прописав)
Имел ввиду именно возможность установить аватару по умолчанию каждому, кто регистрируется, чтобы она была прописана в базу, потом он конечно сможет поменять в редактировании профиля.

Я ничего лучше, чем прописывать плагином путь и изображению при создании пользователя пока не придумал. Поэтому спрашиваю, вдруг есть коробочные решения.