MODx Evo и добавление статей из front-end. Часть 2. Сниппет.

Сей материал содержит пояснительную информацию к сниппету, который был приведен мною в предыдущей статье.

Сниппет к eForm MODx Evolution

Массив $svoistva задает свойства добавляемого материала. Каждое значение пояснять не буду, — они интуитивно понятны, если сравнивать их с формой создания нового ресурса в Менеджере.

Я остановлюсь на ключевых моментах, которые необходимо учесть, чтобы конечный пример заработал. Также, если вам что-то непонятно, тогда можете почитать мою статью о программном добавлении материалов в MODx Evolution с помощью CakeMODx.

Краткие пояснения к сниппету sozdatDokument:

Итак, обратите внимание на два поля — это заголовок и собственно содержимое статьи, контент. Они задаются следующими строчками:

$svoistva['pagetitle'] = $modx->db->escape($fields['zagolovok']);
$svoistva['content'] = $modx->db->escape($fields['statiya']);

Забегая немного вперед отмечу, что здесь ‘zagolovok’ и ‘statiya’ — это атрибуты name соответствующих элементов HTML-формы, которая будет использоваться для принятия информации от посетителя, желающего добавить статью.

Плюс запомните, что:

  • published — допустимые значения 1 или 0, задает будет ли опубликован материал или нет.
  • template — идентификатор шаблона, связанного с дизайном вашего сайта. Целое число.
  • createdby — идентификатор зарегистрированного пользователя, который будет как бы «автором» материала. Также целое число.

А также:

Вы можете самостоятельно отыскать большее количество свойств документа MODx Evolution проанализировав поля таблицы modx_site_content.

Опубликовано 5-03-2013 в 12:33


Комментариев к записи: 3

  1. Евгений:

    Здравствуйте. Очень полезная тема. Редкая. Не поможете с запросом. Сам я не очень в этом деле. Хочу поставить ссылку на страницу ресурса для автора ресурса,что бы он мог редактировать свои статьи. Но что то не выходит ничего. На сайте поддержки тишина. Там всего пару строк,но никак. Начало такое:

    $modx->getLoginUserID();
       $idus = $modx;
    
         if ($idus->getLoginUserID()!=0)
         {
    

    а далее нужен запрос к таблице site_content что бы вытащить с неё id и createdby и затем сравнить $idus с createdby…
    далее понятно.

    И ещё не подскажите почему когда вставляю [*createdby*] выводит всегда -0(в БД тоже). Спасибо.

  2. Максим:

    Как вариант — заносите логин автора в TV и по нему проверяйте

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>











Свежие комментарии

  • krasnov8953: к записи Не работает как мне кажется строчка $newTvId = $ »
  • Dimanski: к записи ничего не понимаю. Ставлю ModX на хостинг r01.ru »
  • Дмитрий: к записи Спасибо! Очень выручили. С битриксом беда, а прав »
  • леонид: к записи как сделать что были в ряд? у меня получается по о »
  • Администратор: к записи Статический IP. »
  • Steel: к записи Администратор, вы данную проблему решили подключен »
  • Дмитрий: к записи Хотел узнать как прикрутить данное окно (http://re »

Последние твиты