Ben bir widget UploadmaWidget vardır:Yii 2 bilinmeyen özelliği alınıyor: yii web Görünüm :: nitelik
namespace vendor\maydin;
use yii\base\Widget;
use yii\helpers\Html;
class UploadmaWidget extends Widget
{
public $message;
public $model;
public $attribute;
public function init()
{
parent::init();
if ($this->message === null) {
$this->message = 'Hello World';
}
}
public function run()
{
UploadmaWidgetAsset::register($this->getView());
return $this->render('index',['message'=>$this->message]);
}
public function getViewPath()
{
return '@vendor/maydin/views/';
}
}
Ve endeks görünümü dosyasında işlemek:
<?php
use yii\helpers\Html;
use yii\web\View;
?>
<?= $this->message;?>
<?= $this->attribute;?>
ben mesajı değerini ararsam sorun değil ama öznitelik problem.İşleme işleviyle öznitelik değeri göndermek istemiyorum.
DÜZENLEME: Ben yii 1.1 böyle kullanılan widget'ı var ama
Nihayet böyle Widget diyoruz 2,0 (NOW) Yii çalışmıyor Çünkü:
<?php
use vendor\maydin\UploadmaWidget;
echo UploadmaWidget::widget([
'message' => 'Hello World',
'model'=>$model,
'attribute' => 'mahmut',
]) ;?>
nasıl kullanabilirsiniz Widget görünüm dosyasındaki özellik değeri?
ben yoluyla nitelik değeri göndermek istemiyoruz "beyan var: Burada gerçekleşmesini karşılaştırabilirsiniz render işlevi " –
Github'da nasıl çalıştığına bakın: https://github.com/yiisoft/yii2/blob/3f4fcbe569e3460ad7b28085b957c3b2f47b5334/framework/base/Widget.php#L185. ikinci öznitelik '$ görünümde kullanılabilir olması gereken parametreleri (ad-değer çiftleri) params'tir.' –
Bu özelliği render işleviyle göndermek istemiyorsanız, bu özniteliğin görünümde erişilebilir olmasını istemezsiniz. –