FLUX RSS



ACCUEIL / FORUMS / QUESTIONS TECHNIQUES / PROBLEMES DIVERS AVEC EZ PUBLISH ...




sondages
Avez-vous déjà utilisé les exports statiques ? :
oui
non
RESULTATS | SONDAGES
liens
eZ systems
http://ez.no
PHPEdit
http://www.waterproof.fr/
AFUL
http://www.aful.org
Framasoft
http://www.framasoft.net
Problemes divers avec EZ Publish ...

Vous devez être connecté pour utiliser le forum. Vous pouvez le faire ici.

Auteur Message

Lex 007

Lundi 14 Février 2005 5:49:09 pm

Problemes divers avec EZ Publish ...

Bonjour a tous,

je suis nouveau venu dans le monde de EZ Publish et je rencontre pas mal de de difficultes ... J'utilise EZ Publish v 3.4.4 (imposé)

- Tout d'abord sur les Worklows : j'essaie d'activer le workflow de type content_read pour faire une page de disclaimer lorsque l'on s'apprete a lire une page. Lorsque j'active cette option dans le workflow.ini : plus rien ne marche dane ls site, et toutes les pages sont blanches ! Une idee ?

- J'ai ecrit un template pour faire un menu dynamique, mais celui ci ne marche pas car j'ai une variable counter qui n'est pas incrementee ... voici le code si vous pouvez m'aidder !

Merci d'avance

Lex

{let page_limit=10
counter=0
children=fetch('content','list',
hash(parent_node_id,2,
limit,$page_limit,
offset,$view_parameters.offset))
child_count=fetch('content','list_count',hash(parent_node_id,$node.node_id))}
{section name=Child loop=$children}
{set counter=$counter+1}
mml[{$counter}]=new Array('0','{$Child:item.name}',{$Child:item.url_alias|ezurl},'');
{let sub_children=fetch('content','list',hash(parent_node_id,$Child:item.node_id,limit,$page_limit))
sub_child_count=fetch('content','list_count',hash(parent_node_id,$Child:item.node_id))}
{section name=SubChild loop=$:sub_children}
{set counter=$counter+1}
mml[{$counter}]=new Array('1','{$:item.name}',{$:item.url_alias|ezurl},'');
{/section}

{/let}

{/section}

{/let}

Vanessa

Mardi 15 Février 2005 9:31:10 pm

Re : Problemes divers avec EZ Publish ...

L'incrémentation peut se faire de deux manières :
{set counter=$counter|inc}
ou bien
{set counter=inc( $counter )}

à la place de {set counter=$counter+1}.

Vanessa

Lex 007

Jeudi 17 Février 2005 1:40:12 am

ok

merci !

J'avais en plus une autre erreur au niveau de mes variables ...

Bertrand Dunogier

Vendredi 18 Février 2005 11:07:12 pm

Workflow

Je te conseille de tenter peut être une autre approche pour ton disclaimer. Les worflows peuvent être assez gourmand en ressources et en fatigue. Je pense que cette méthode pourrait être adaptée:
- placer dans le template chaque page sujette au disclaimer un petit morceau de template qui vérifie l'existence d'une variable;
- si celle-ci existe, l'URL actuelle est stockée (session) et le visiteur est redirigé redirige vers le disclaimer.
- Quand le visiteur valide le disclaimer, une variable de session est créée "disclaimer lu" et l'utilisateur est redirigé vers la page dont l'URL a été stockée en session précédemment.

Je pense que tout devrait être faisable sans grandes difficultés.

Lex 007

Lundi 21 Février 2005 2:16:52 pm

ouf !

j'avais aussi pensé a cette approche, mais j'ai en fait differents types de disclaimers (qui font chacun des actions, comme ajouter ou non un cookie, changer de groupe d'utilisateur ...) donc j'ai été obligé de faire un nouveau type de workflow event.

Voici ce que ca donne pour un disclaimer basique qui s'affiche a chaque visite (version non finalisée car bug dans l'admin, j'ai pas encore compris comment tou marche) :

<?php

include_once( "kernel/classes/ezworkflowtype.php" );

include_once( 'lib/ezutils/classes/ezhttptool.php' );
include_once( 'kernel/classes/datatypes/ezuser/ezuser.php' );
include_once( 'kernel/common/template.php' );
include_once( 'lib/ezutils/classes/ezini.php' );
include_once( 'kernel/classes/datatypes/ezuser/ezuserloginhandler.php' );

define( "EZ_WORKFLOW_TYPE_ANONYMOUSDISCLAIMER_ID", "ezanonymousdisclaimer" );

class eZAnonymousDisclaimer extends eZWorkflowEventType
{
/*!
Constructor
*/
function eZAnonymousDisclaimer()
{
$this->eZWorkflowEventType( EZ_WORKFLOW_TYPE_ANONYMOUSDISCLAIMER_ID, "Anonymous Disclaimer" );
}

function execute( &$process, &$event )
{

eZDebug::writeNotice( $process, "process" );
$http =& eZHTTPTool::instance();
$disclaimer_title = "";
if ( $http->hasPostVariable( "Next" ) )
{
if ( $http->hasPostVariable( "answer" ) )
{
$answer = $http->postVariable( "answer" );
eZDebug::writeDebug( 'got answer' );
if ( $answer == 'yes' )
{
eZDebug::writeDebug( 'got yes' );
return EZ_WORKFLOW_TYPE_STATUS_ACCEPTED;
}
else
{
$disclaimer_title = "Please accept this important disclaimer before proceeding with accessing the contents of this website";
eZDebug::writeDebug( 'got no' );
//return EZ_WORKFLOW_TYPE_STATUS_ACCEPTED;
}
}
}

$requestUri = eZSys::requestURI();
$disclaimer_text= $event->attribute( 'data_text1' ) ;
$process->Template = array( 'templateName' =>
'design:workflow/eventtype/result/' .
'event_ezanonymousdisclaimer' . '.tpl',
'templateVars' => array( 'request_uri' => $requestUri , 'disclaimer_title' => $disclaimer_title, 'disclaimer_text' => $disclaimer_text)
);
return EZ_WORKFLOW_TYPE_STATUS_FETCH_TEMPLATE_REPEAT;
}

function fetchHTTPInput( &$http, $base, &$event )
{
$editorVar = $base . "_event_ezezanonymousdisclaimer_text_" . $event->attribute( "id" );
if ( $http->hasPostVariable( $editorVar ) )
{
$editorID = $http->postVariable( $editorVar );
$editorID = $editorID[0];
$event->setAttribute( "data_text1", $editorID );
}
}

function &attributeDecoder( &$event, $attr )
{
eZDebug::writeDebug( 'function attributeDecoder' );
switch ( $attr )
{
case 'disclaimer_text':
{
$text = $event->attribute( 'data_text1' ) ;
return $text;
}break;
}
return null;
}

function typeFunctionalAttributes( )
{
return array( 'disclaimer_text' );
}

}

eZWorkflowEventType::registerType( EZ_WORKFLOW_TYPE_ANONYMOUSDISCLAIMER_ID, "ezanonymousdisclaimer" );

?>

actualités
Traduction d'un tutorial eZ
eZ publish 4.0 est sorti
EzPublish 3.9 enfin disponible !
Ez Publish 3.9 RC2 est en ligne !
Ez Publish 3.9 RC1 disponible !
références
Site ohmycom
OhmyBlog