События как найти?

Обсуждение CMS Made Simple в России.

Moderators: iturbay, wdwp

Post Reply
ccopa
New Member
New Member
Posts: 8
Joined: Sun Jul 26, 2009 8:59 pm

События как найти?

Post by ccopa »

Такая проблемма! Не могу разобраться с событиями.  ??? Всё перерыл. Нашел вот что. Модуль selfRegistration Для него зарегистрировано событие в базе данных onNewUser в таблице events. Но где посмотреть код который выполняется при этом событии! Если можете Опишите подробно про события в CMS Made Simple. Прям голова болит. Столько времени трачу. Зараннее благодарен
Last edited by ccopa on Mon Jul 27, 2009 5:10 am, edited 1 time in total.
Sonya

Re: События как найти?

Post by Sonya »

ccopa wrote: Но где посмотреть код который выполняется при этом событии!
Никакой код там сам по себе не выполняется. Но к этому событию можно прицепить свой php код, например, при помощи пользовательского тега.
ccopa
New Member
New Member
Posts: 8
Joined: Sun Jul 26, 2009 8:59 pm

Re: События как найти?

Post by ccopa »

А какой конкретно прицеплен код к onNewUser как узнать? А то не могу совсем разобраться! И как его крепить! Например разобрался что в модуле можно создать файл events.КАКОЕ-ТО СОБЫТИЕ.php а какой код прицеплен к onNewUser не понятно.
Sonya

Re: События как найти?

Post by Sonya »

ccopa wrote: А какой конкретно прицеплен код к onNewUser как узнать? А то не могу совсем разобраться! И как его крепить! Например разобрался что в модуле можно создать файл events.КАКОЕ-ТО СОБЫТИЕ.php а какой код прицеплен к onNewUser не понятно.
Sonya wrote:
ccopa wrote: Но где посмотреть код который выполняется при этом событии!
Никакой код там сам по себе не выполняется. Но к этому событию можно прицепить свой php код, например, при помощи пользовательского тега.
ccopa
New Member
New Member
Posts: 8
Joined: Sun Jul 26, 2009 8:59 pm

Re: События как найти?

Post by ccopa »

ОГРОМНОЕ СПАСИБО  Sonya  ЧТО ПОМОГАЕТЕ!  

Ну а какой КОНКРЕТНО ПРИКРЕПЛЁН!!!  ??? Всё равно не понятно! Если можно напишите как прикреплять! У меня всего только 2 пользовательских тега. И ни один не подходит под событие onNewUser. Пришлите пожалуйста примеры (Создание, прикрепление, вызов.) Хотя бы простого какого-нибудь события!  ???

Я хоть программист по образованию. Но видимо без примеров не обойдусь!
Last edited by ccopa on Mon Jul 27, 2009 10:44 am, edited 1 time in total.
Sonya

Re: События как найти?

Post by Sonya »

В любом модуле могут быть события (могут и не быть - зависит от разработчика модуля). На каждое событие можно "прицепить" свой код в форме пользовательского тега.

Пример пользовательского тега:

Code: Select all

global $gCms;
$cmsmailer =& $gCms->modules['CMSMailer']['object']; 
$cmsmailer->AddAddress('my@email.com','My Name'); 
$cmsmailer->SetPriority(1);
$cmsmailer->SetFrom('sender@email.com');
$cmsmailer->SetFromName('Sender Name');
$cmsmailer->SetBody('This is the body text'); 
$cmsmailer->IsHTML(true); 
$cmsmailer->SetSubject('This is the subject'); 
$cmsmailer->Send();
Этот код выcылает мэйл на адрес my@email.com, с содержанием 'This is the body text'.

Привязка тега к событию
1. Расширения -> События
2. Выбрать желаемое событие, например, ContentEditPost (выполняется каждый раз, когда меняется контент).
3. Выбрать тег, который должен выполняться из списка тегов.

В этом примере мэйл будет отсытлаться каждый раз, когда контент редактируется.

ДОПОЛНИТЕЛЬНО: События также передают параметры в теги Array() $params . Таким образом можно сделать условие, например, отсылать мэйл только при изменении определенных страниц.
Last edited by Sonya on Mon Jul 27, 2009 12:23 pm, edited 1 time in total.
ccopa
New Member
New Member
Posts: 8
Joined: Sun Jul 26, 2009 8:59 pm

Re: События как найти?

Post by ccopa »

:)  Ну вроде бы разобрался! Значит по умолчанию в основном события пустые. Т.е. Они просто есть! Если в расширениях не указаны теги пользователя привязаные к этому событию!

Иначе говоря все кому не лень назначают события вызывают их из своих скриптов, Если к этому событию не привязан пользовательский тег грубо говоря ничего не выполняется!. Думаю я правильно понял.

ОГРОМНОЕ спасибо Sonya
Sonya

Re: События как найти?

Post by Sonya »

ccopa wrote: Значит по умолчанию в основном события пустые. Т.е. Они просто есть! Если в расширениях не указаны теги пользователя привязаные к этому событию!

Иначе говоря все кому не лень назначают события вызывают их из своих скриптов, Если к этому событию не привязан пользовательский тег грубо говоря ничего не выполняется!. Думаю я правильно понял.
Все верно. Надо бы это, наверное, в вики запихать.
Post Reply

Return to “Russian - русский”