par
gege25 » 20 sept. 2011, 00:01
Bonjour à tous,
Je cherche à inclure une echo dans une fonction, pour cela je fais plusieurs paliers (assesseur). La fonction public function setCatMenu( $var ) marche correctement (voir
http://dormitoryuk.com/shop), par contre le $data ligne s'affiche 2 deux fois dont une sans le $this->categories_menu concaténé. Une idée de comment fixer ça ?
Je pense que l'origine du problème est:
$oscTemplate->addBlock($data, $this->group); // Il y a t-il un moyen de le désactiver ?
Voila le code php:
<?php
class bm_flyout {
var $code = 'bm_flyout';
var $group = 'boxes';
var $title;
var $description;
var $sort_order;
var $enabled = false;
private $categories_menu; // uniquement accessible dans la classe bm_flyout
public function setCatMenu( $var ) {
$this->categories_menu = $var;
}
function bm_flyout() {
$this->title = MODULE_BOXES_FLYOUT_TITLE;
$this->description = MODULE_BOXES_FLYOUT_DESCRIPTION;
if ( defined('MODULE_BOXES_FLYOUT_STATUS') ) {
$this->sort_order = MODULE_BOXES_FLYOUT_SORT_ORDER;
$this->enabled = (MODULE_BOXES_FLYOUT_STATUS == 'True');
$this->group = ((MODULE_BOXES_FLYOUT_CONTENT_PLACEMENT == 'Left Column') ? 'boxes_column_left' : 'boxes_column_right');
}
}
public function execute() {
global $oscTemplate;
$data = '<div class="ui-widget infoBoxContainer">' .
' <div class="ui-widget-header infoBoxHeading">' . MODULE_BOXES_FLYOUT_TITLE . '</div>' .
' <div class="ui-widget-content infoBoxContents">' . '<tr><td>' . $this->categories_menu . '</td></tr>'
. '</div>' .
'</div>';
$oscTemplate->addBlock($data, $this->group);
}
}
// utilisation de la classe
$test= new bm_flyout();
$test->setCatMenu($categories_menu);
$temp=$test->execute();
Goldoi
Bonjour à tous,
Je cherche à inclure une echo dans une fonction, pour cela je fais plusieurs paliers (assesseur). La fonction public function setCatMenu( $var ) marche correctement (voir http://dormitoryuk.com/shop), par contre le $data ligne s'affiche 2 deux fois dont une sans le $this->categories_menu concaténé. Une idée de comment fixer ça ?
Je pense que l'origine du problème est:
$oscTemplate->addBlock($data, $this->group); // Il y a t-il un moyen de le désactiver ?
Voila le code php:
[php]<?php
class bm_flyout {
var $code = 'bm_flyout';
var $group = 'boxes';
var $title;
var $description;
var $sort_order;
var $enabled = false;
private $categories_menu; // uniquement accessible dans la classe bm_flyout
public function setCatMenu( $var ) {
$this->categories_menu = $var;
}
function bm_flyout() {
$this->title = MODULE_BOXES_FLYOUT_TITLE;
$this->description = MODULE_BOXES_FLYOUT_DESCRIPTION;
if ( defined('MODULE_BOXES_FLYOUT_STATUS') ) {
$this->sort_order = MODULE_BOXES_FLYOUT_SORT_ORDER;
$this->enabled = (MODULE_BOXES_FLYOUT_STATUS == 'True');
$this->group = ((MODULE_BOXES_FLYOUT_CONTENT_PLACEMENT == 'Left Column') ? 'boxes_column_left' : 'boxes_column_right');
}
}
public function execute() {
global $oscTemplate;
$data = '<div class="ui-widget infoBoxContainer">' .
' <div class="ui-widget-header infoBoxHeading">' . MODULE_BOXES_FLYOUT_TITLE . '</div>' .
' <div class="ui-widget-content infoBoxContents">' . '<tr><td>' . $this->categories_menu . '</td></tr>'
. '</div>' .
'</div>';
$oscTemplate->addBlock($data, $this->group);
}
}
// utilisation de la classe
$test= new bm_flyout();
$test->setCatMenu($categories_menu);
$temp=$test->execute();
[/php]
Goldoi