Faire un fetch personnalisé (custom fetch)

Le fetch est la fonction a tout faire dans le monde d’eZ Publish. eZ Publish est fournit avec un certain nombre de fetch définit par défaut. Il est parfois utile de définir soit même ses propres fetchs.

Définition du fetch

Pour définir un fetch personalisé, il faut donner la définition dans un fichier function_definition : extensions/myextension/modules/mymodule/function_definition.php

<?php
$FunctionList = array();
$FunctionList['CustomFetch'] = array(
    'name' => 'customfetch',
    'call_method' => array(
        'class' => 'MyCustomFunctionCollection',
        'method' => 'fetchCustomFetch'
    ),
    'parameters' => array(
        array(
            'name' => 'param_1',
            'type' => 'integer',
            'required' => true,
            'default'  => 1
        ),
        array( 		
            'name' => 'param_2', 		
            'type' => 'string', 		
            'required' => true, 		
            'default'  => '' 		
        ) 	
    ) 
); 

Il reste à définir le code de notre fetch.

<?php
class MyCustomFunctionCollection {  	
    public function __construct() {}  	
    public function fetchCustomFetch( $param_1, $param_2 ) 
    { 		
        $result = '...'; // ce que l'on veut 		
        return array('result' => $result); 	
    } 
} 

Activation du fetch

Il faut que le module soit deja configurer dans le fichier module.ini.append.php pour pouvoir utiliser notre fetch.

<?php 
/* #?ini charset=\"utf-8\"?  
[ModuleSettings] 
ExtensionRepositories[]=mymodule 
ModuleList[]=mymodule  
*/ 

Utiliser notre fetch

Nous disposons maintenant de tout notre environnement pour utiliser notre, il ne reste plus qu’a l’utiliser dans nos templates.

 
{def $collection = fetch('mycustom', 'customfetch', hash( 	'param_1', 1, 	'param_2', 'text' )} 
comments powered by Disqus
A la une
  • Rencontre du numérique 2019 - Nîmes
  • référencement naturel d'un hôtel
  • Développeur eZ Platform
  • Tech lead Symfony
  • Expert Qualité Web

Copyright - Sylvain FIX

2009 - 2019