확장을 만들어야하는데, 나는 그것을 "yourextension"이라고 부르고 새로운 이벤트 유형으로 "publishevent"라고 부를 것입니다.
참고 :
: 당신이 레즈 버전 5.0 전에 게시를 사용하는 경우는
ezpublish_legacy/확장/yourextension/eventtypes/이벤트 /의 publishEvent/publisheventtype.php 경로에 "/ ezpublish_legacy"을 떠날 필요가
<?php
/**
* Class PublishEventType
*/
class PublishEventType extends eZWorkflowEventType
{
function __construct()
{
$this->eZWorkflowEventType('publishevent', 'description of what you are doing');
$this->setTriggerTypes(array(
'content' => array(
'publish' => array('after'),
)
));
}
/**
* This is where your code goes
*
* @param eZWorkflowProcess $process
* @param eZWorkflowEvent $event
* @return int
*/
function execute($process, $event)
{
$parameters = $process->attribute('parameter_list');
if (isset($parameters['object_id']) && isset($parameters['version']))
{
$objectId = (int) $parameters['object_id'];
$version = (int) $parameters['version'];
// your code goes here
}
return eZWorkflowType::STATUS_ACCEPTED;
}
}
eZWorkflowEventType::registerEventType('publishevent', 'PublishEventType');
ezpublish_legacy/확장/yourextension/설정/workflow.ini.append.php :
<?php /*
[EventSettings]
ExtensionDirectories[]=yourextension
AvailableEventTypes[]=event_publishevent
*/
이 활성화 새 확장하는 것을 잊지 마십시오.
ezpublish_legacy/설정/재정/site.ini.append.php :
[ExtensionSettings]
ActiveExtensions[]=yourextension
이 도움말을합니까?
감사 (캐시 삭제가 그 중 하나가 아닌 경우에도) 당신이 다른 일에 사용할 수있는 유용한 워크 플로우 많은 이벤트에 대한 지역 사회의 확장 ezworkflowcollection를 찾아 볼 수 있습니다, 내가 가진 이 모든 일을했지만 아직 나는 eZLog :: write를 사용하여 실행 함수에 쓰는 texte를 찾을 수 없다. – Mahmoud
@ 마흐무드를 찾고있는 텍스트는 무엇입니까? –
내 작업 흐름을 만들 때 내 실행 함수에'(eZLog :: write ("test"))'를 추가한다. 문제는 "test"라는 단어가 내 "common.log"라는 파일을 찾지 못한다는 것이다. execute 함수가 호출되지 않는다는 것을 의미합니다. 그 이유는 내 이벤트 워크 플로에 유형 멀티플렉서를 사용했기 때문입니다 (감사합니다 @ ADA15) – Mahmoud