yiippy
(Smartgdi)
August 2, 2010, 7:41am
1
Hi, para programmer Yii. Bagaimanakah caranya mendapatkan Current Action didalam Widget. Saya membuat sebuah widget "Main Banner" yang hanya tampil pada halaman index/awal saja?.
Jadi kode yg saya inginkan seperti ini:
class HookMainBanner extends CWidget
{
public function run() {
$this->renderContent();
}
protected function renderContent() {
// mainbanner di render hanya jika action == site/index.
if($action === 'site/index') {
$this->render('mainbanner');
}
}
}
Mohon bantuannya. thanks
xicath
(Xicath)
August 2, 2010, 8:13am
2
klo url nya bukan path tinggal
echo $_GET['r'];
atau coba liat manualnya :
echo Yii::app()->baseUrl;
echo "<br />";
echo Yii::app()->urlManager->routeVar;
echo "<br />";
print_r(Yii::app()->urlManager->rules);
echo "<br />";
klo cara simpler-nya tinggal di explode
$sistem = explode('/', $_SERVER['REQUEST_URI']);
if($sistem[2] === 'site' && $sistem[3] === 'index')
{
-- yahoo cara simpler ---
}
yiippy
(Smartgdi)
August 3, 2010, 2:41am
3
Makasih udah di reply…
aq udah edit urlnya menjadi path…
atau coba liat manualnya :
echo Yii::app()->baseUrl;
echo "<br />";
yang ini keluarnya selalu rootnya "/". klo di localhost ini "/test-web".
echo Yii::app()->urlManager->routeVar;
echo "<br />";
yang ini cuma keluar variabelnya tok (r).
print_r(Yii::app()->urlManager->rules);
echo "<br />";
yg ini keluarnya g berubah2, keluarnya ini2 terus <img src='http://www.yiiframework.com/forum/public/style_emoticons/default/grin.gif' class='bbc_emoticon' alt=';D' /> :
Array
(
[admin486] => admin486/login
[/] => /view
[//] => /
[/] => /
)
klo cara simpler-nya tinggal di explode
$sistem = explode('/', $_SERVER['REQUEST_URI']);
if($sistem[2] === 'site' && $sistem[3] === 'index')
{
-- yahoo cara simpler ---
}
kalo yang ini udah tak pakai, karena susah memakai fungsi dari Yii.
yiippy
(Smartgdi)
August 4, 2010, 3:29am
4
Sudah ketemu, sy tanyakan di forum General Topic dan dijawab begini:
if(Yii::app()->controller->action->id == 'index') {
$this->render('mainbanner');
}