Напомню задачу:
Напишите плагин, который будет устанавливать нужное значение псевдонима для всех создаваемых документов в разделе «Статьи»Чтобы суметь внести изменения в создаваемый ресурс мы должны создать плагин и указать событие, при наступлении которого этот плагин будет автоматически запускаться.
Нам нужно, чтобы наш плагин запускался при создании нового ресурса или редактировании уже существующего (мало ли, вдруг пользователь удалит псевдоним при редактировании).
При создании/редактировании ресурса вызываются два события: OnBeforeDocFormSave и OnDocFormSave. Первое событие вызывается перед тем, как данные ресурса сохранятся, а второе — уже после сохранения. Соответственно, во время события OnBeforeDocFormSave у нас объекта еще не существует — есть только данные, которые ввел пользователь. А нам нужно знать id ресурса, соответственно это событие нам не подходит.
Когда вызывается событие OnDocFormSave объект уже существует, соответственно мы можем узнать и его id. В плагине объект (только что созданный ресурс) находится в переменной $resource. И мы можем получить значение любого его поля так:
$resource->get('pagetitle');
Ну вот, думаю, этого будет достаточно, чтобы выполнить вторую часть задания. Если все же не получается, можете заглянуть в ответ. (ответа пока нет, чуть позже размещу здесь и ответ) G+
2 комментария