Yii Framework Forum: ارسال پارامتر به کامپوننت - Yii Framework Forum

Jump to content

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

ارسال پارامتر به کامپوننت

#1 User is offline   Ostovar IT 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 76
  • Joined: 09-June 11
  • Location:iran, tehran

Posted 20 June 2011 - 07:20 AM

با سلام و خسته نباشید
کامپوننتی نوشتم که در متد
Run
کد زیر قرار دارد:
public function run()
{
$root='C:\server\htdocs\gallery\images';
$imgarray= getDirectoryList($root);
$this->render('gallery',array('imgarray'=>$imgarray));
}
میخوام مقدار
$root
را به صورت داینامیک در زمان فراخوانی کامپوننت به آن ارسال کنم
$this->widget('gallery');

چطور این کار رو انجام بدم؟
به صورت زیر نوشتم خطا داد:
$this->widget('gallery',array('root'=>'C:\server\htdocs\gallery\images'));

اما اگر نام تابع
run
را تغییر بدهم و از کد زیر برای فراخوانی استفاده کنم مشکلی نیست
Yii::import("application.components.gallery.*");
$gallery = new gallery();
$gallery->rungallery('C:\server\htdocs\gallery\images');

چرا روش اول خطا می دهد؟
تحلیل، طراحی و برنامه نویسی وب، آموزش "ایی" فریمورک و برنامه نویسی وب، اخبار، مقالات، درج آگهی، استخدام و ... در وب سایت فناوری اطلاعات استوار
www.ostovarit.com
09128157188
0

#2 User is offline   naser 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 85
  • Joined: 30-October 09
  • Location:tehran - Iran

Posted 21 June 2011 - 12:20 AM


باید $root رو به عنوان پروپرتی تعریف کنی بعد مقدار دهیش کنی
در ضمن برای راست به چپ نوشتن از
[rtl]
و برای قرار دادن کدهاتون از
[code]
تو فروم استفاده کنید


1

#3 User is offline   Ostovar IT 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 76
  • Joined: 09-June 11
  • Location:iran, tehran

Posted 21 June 2011 - 12:32 AM


اوکی ممنون... میشه یک مثال بزنید چطور این کار رو انجام بدم؟
من روش های زیادی رو تست کردم و فقط در اون حالتی که در پست قبلی اشاره کردم جواب میگیرم
متد run , initهر کدوم در کامپوننت به چه کاری میاد؟
با تشکر

تحلیل، طراحی و برنامه نویسی وب، آموزش "ایی" فریمورک و برنامه نویسی وب، اخبار، مقالات، درج آگهی، استخدام و ... در وب سایت فناوری اطلاعات استوار
www.ostovarit.com
09128157188
0

#4 User is offline   naser 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 85
  • Joined: 30-October 09
  • Location:tehran - Iran

Posted 21 June 2011 - 12:56 AM


منظورت از کامپوننت همون widget هستش یا ...؟
دقیق بگو می خوایی چی کار کنی تا بهت بگم

0

#5 User is offline   Ostovar IT 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 76
  • Joined: 09-June 11
  • Location:iran, tehran

Posted 21 June 2011 - 01:05 AM

View Postnaser, on 21 June 2011 - 12:56 AM, said:


منظورت از کامپوننت همون widget هستش یا ...؟
دقیق بگو می خوایی چی کار کنی تا بهت بگم




ساخت widget رو از لینک زیر مطالعه کردم:
http://yiitutorials....e-yii-framework
طریقه ارسال پارامتر رو به صورت زیر گفته:
$this->widget('WidgetName',array('userId'=>$userId)); 

موفق نشدم از این طریق متغییری ارسال و در widget دریافت کنم

این widget قراره ادرس یک فولدر رو بگیره تصاویر داخلش رو لیست و در یک ارایه به view مربوط به widget ارسال کنه و در اونجا تصاویر نمایش داده بشه
این کار رو کردم ولی نمیدونم widget که نوشتم اصولی هست یا نه؟ چون تو نمونه هایی که دیدم توابعی با نام run و init تعریف شده و من این دو تابع رو در widget ندارم

تحلیل، طراحی و برنامه نویسی وب، آموزش "ایی" فریمورک و برنامه نویسی وب، اخبار، مقالات، درج آگهی، استخدام و ... در وب سایت فناوری اطلاعات استوار
www.ostovarit.com
09128157188
0

#6 User is offline   naser 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 85
  • Joined: 30-October 09
  • Location:tehran - Iran

Posted 21 June 2011 - 01:27 AM


برای نوشتن این چیزی که می خوایی از این استفاده کن

<?php
class myWidget extends CWidget
{
	public $root;
	
	public function run()
	{
		//your code
	}
}
?>


متد init هم وقتی widget رو فراخوانی میکنه اجرا میشه
فکر کنم اینجا واضح توضیح داده
http://www.yiiframew...ics.view#widget

1

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