با سلام و خسته نباشید
کامپوننتی نوشتم که در متد
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');
چرا روش اول خطا می دهد؟
Page 1 of 1
ارسال پارامتر به کامپوننت
#1
Posted 20 June 2011 - 07:20 AM
تحلیل، طراحی و برنامه نویسی وب، آموزش "ایی" فریمورک و برنامه نویسی وب، اخبار، مقالات، درج آگهی، استخدام و ... در وب سایت فناوری اطلاعات استوار
www.ostovarit.com
09128157188
www.ostovarit.com
09128157188
#2
Posted 21 June 2011 - 12:20 AM
باید $root رو به عنوان پروپرتی تعریف کنی بعد مقدار دهیش کنی
در ضمن برای راست به چپ نوشتن از
[rtl]
و برای قرار دادن کدهاتون از
[code]
تو فروم استفاده کنید
#3
Posted 21 June 2011 - 12:32 AM
اوکی ممنون... میشه یک مثال بزنید چطور این کار رو انجام بدم؟
من روش های زیادی رو تست کردم و فقط در اون حالتی که در پست قبلی اشاره کردم جواب میگیرم
متد run , initهر کدوم در کامپوننت به چه کاری میاد؟
با تشکر
تحلیل، طراحی و برنامه نویسی وب، آموزش "ایی" فریمورک و برنامه نویسی وب، اخبار، مقالات، درج آگهی، استخدام و ... در وب سایت فناوری اطلاعات استوار
www.ostovarit.com
09128157188
www.ostovarit.com
09128157188
#4
Posted 21 June 2011 - 12:56 AM
منظورت از کامپوننت همون widget هستش یا ...؟
دقیق بگو می خوایی چی کار کنی تا بهت بگم
#5
Posted 21 June 2011 - 01:05 AM
naser, 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
www.ostovarit.com
09128157188
#6
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
Share this topic:
Page 1 of 1

Help













