Yii Framework Forum: Einem Widget, ein Array übergeben - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Einem Widget, ein Array übergeben verwendet wird ein Widget und ein Portlet Rate Topic: -----

#1 User is offline   yii 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 440
  • Joined: 25-July 09

Posted 24 September 2009 - 10:56 AM

Hi,

ich rufe in meiner View ein Widget folgendermaßen auf.

<?php $this->widget('boxSimilar'); ?>


<?php
class BoxSimilar extends Portlet
{
    public $title='BoxSimilar';
 
    protected function renderContent()
    {
        $this->render('elements/boxSimilar');
    }
}


Das Widget wird korrekt ausgeführt, jedoch kann ich an keiner Stelle dem Widget ein Array übergeben. Weder so
$this->widget('boxSimilar', $aTestArray);


noch indem ich die renderContent, so erweitere das sie ein Array annimmt.

Wer kennt einen Trick?
Meine Fragen stelle ich öffentlich und baue somit eine Wissensdatenbank für andere auf!
0

#2 User is offline   Mike 

  • Elite Member
  • PipPipPipPipPip
  • Yii
  • Group: Members
  • Posts: 3,016
  • Joined: 06-October 08
  • Location:Upper Palatinate

Posted 24 September 2009 - 02:19 PM

class BoxSimilar extends Portlet
{
    public $title='BoxSimilar';

    public $meinArray=array(
        'bla' => 'Defaultwert',
    );
 
    protected function renderContent()
    {
        $this->render('elements/boxSimilar');
    }
}


$this->widget('boxSimilar', array(

    'meinArray'=> array(
        'bla' => 'Sonstwas',
        'xyz' => 123,
    ),

    'title' => 'Spezialbox',

);

0

#3 User is offline   yii 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 440
  • Joined: 25-July 09

Posted 24 September 2009 - 02:59 PM

Vielen Dank, jedoch eine kleine Verbesserung. In der renderContent() muss das Array in render() übergeben werden.

Quote

class BoxSimilar extends Portlet
{
    public $title='BoxSimilar';

    public $meinArray=array(
        'bla' => 'Defaultwert',
    );
 
    protected function renderContent()
    {
        $this->render('elements/boxSimilar', array('meinArray' => $meinArray);
    }
}


$this->widget('boxSimilar', array(

    'meinArray'=> array(
        'bla' => 'Sonstwas',
        'xyz' => 123,
    ),

    'title' => 'Spezialbox',

);


Meine Fragen stelle ich öffentlich und baue somit eine Wissensdatenbank für andere auf!
0

#4 User is offline   Mike 

  • Elite Member
  • PipPipPipPipPip
  • Yii
  • Group: Members
  • Posts: 3,016
  • Joined: 06-October 08
  • Location:Upper Palatinate

Posted 25 September 2009 - 02:32 AM

Richtig, allerdings m.E. nur sinnvoll, wenn du meinArray vorher noch irgendwie verarbeiten möchtest. Andernfalls kann man aber im View auch direkt auf $this->meinArray zugreifen (Pull-Verfahren).
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users