Yii Framework Forum: ارسال پارامتر به juiwidget - Yii Framework Forum

Jump to content

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

ارسال پارامتر به juiwidget

#1 User is offline   Ehsanjs 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 32
  • Joined: 12-April 11

Posted 28 April 2011 - 01:06 AM

سلام دوستان
می خوام یه صفحه ویرایش رو با استفاده از
juiwidget
بسازم
مسیله اینجاست که چطوری یه سری داده به این صفحه پاس بدم
مثلا تغییر نام یک فایل رو در نظر بگیرید
می خوام وقتی در جدولی که نام فایلها رو نشون می ده روی لینک ویرایش کلیک کرد یه صفحه ویرایش باز بشه
و در اون صفحه نام فایل رو به صورت پیش فرض نشون بده

0

#2 User is offline   bamdad dashtban 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 32
  • Joined: 09-April 11

Posted 28 April 2011 - 01:48 AM

View Postehsanjs, on 28 April 2011 - 01:06 AM, said:

سلام دوستان
می خوام یه صفحه ویرایش رو با استفاده از
juiwidget
بسازم
مسیله اینجاست که چطوری یه سری داده به این صفحه پاس بدم
مثلا تغییر نام یک فایل رو در نظر بگیرید
می خوام وقتی در جدولی که نام فایلها رو نشون می ده روی لینک ویرایش کلیک کرد یه صفحه ویرایش باز بشه
و در اون صفحه نام فایل رو به صورت پیش فرض نشون بده


اول بگو ببینم خودت تا کجا پیش رفتی
0

#3 User is offline   Ramin Rezazadeh 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 21
  • Joined: 01-April 11

Posted 28 April 2011 - 01:57 AM

سلام
دوست عزیز منظورتو کامل متوجه نشدم. ممنون می شم یکم بیشتر برام توضیح بدی اما در کل میتونی از قابلیت آجاکس این افزونه استفاده کنی برای ذخیره سازی داده هات و ارسال اونا به کنترل و اگر هم می خوای فیلد هاتو مقدار دهی اولیه کنی هم با همین آجاکس میشه این .کارو کرد

و با این روش می تونی مقدار دهی هاتو توی ویو انجام بدی

این نمونه کد آجاکس هستش. امیدوارم کمکت کنه.

<?php
$this->widget('application.extensions.jui.ETabs',
              array(
                    'name'=>'tabpanelSample',
                    'ajaxTabs'=>array(
                                      array('title'=>'Hello World', 'url'=>'http://localhost/demos/helloworld'),
                                      array('title'=>'Blog', 'url'=>'http://localhost/demos/blog'),
                                     )
                   )
             );
?>


باز برو تو داکیومنتیشن همین افزونه. توش اطلاعات مفیدی هست

Document
0

#4 User is offline   Ehsanjs 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 32
  • Joined: 12-April 11

Posted 28 April 2011 - 02:08 AM

View Postbamdad dashtban, on 28 April 2011 - 01:48 AM, said:

اول بگو ببینم خودت تا کجا پیش رفتی


برای ویرایش نام فایل
من به اینجا رسیدم که
در کنترلر مربوطه یه اکشن و فایل اسکریپت مربوطه رو ساختم
داخل این فایل این رو نوشتم

$this->beginWidget('zii.widgets.jui.CJuiDialog', array(
    'id'=>'renameDialog',
    // additional javascript options for the dialog plugin
    'options'=>array(
        'title'=>'Rename',
        'autoOpen'=>false,
    ),
));

    echo Chtml::textField('filename' , $filename);

$this->endWidget('zii.widgets.jui.CJuiDialog');


در صفحه ای که لیست فایلها رو نشون می ده جدول گذاشتم
در هر سطر جدول این لینک وجود دارد

        $rename = CHtml::link('rename', '#', array(
                    'onclick' => '$("#renameDialog").dialog("open"); return false;',
                ));


در این صفحه فایل
rename.php
رو هم
include
کردم

1

#5 User is offline   alireza 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 59
  • Joined: 24-April 11
  • Location:تهران

Posted 28 April 2011 - 02:16 AM

این
juiwidget
اصلا چی هست؟

0

#6 User is offline   bamdad dashtban 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 32
  • Joined: 09-April 11

Posted 28 April 2011 - 02:18 AM

من امروز برای پروژه خودم می خواهم از این افزونه یی استفاده کنم ، اگر بهم فرصت بدی تا شب جوابتو میدم ، امیودوارم البته خودت زودتر به جواب برسی
1

#7 User is offline   bamdad dashtban 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 32
  • Joined: 09-April 11

Posted 28 April 2011 - 02:19 AM

View Postalireza, on 28 April 2011 - 02:16 AM, said:

این
juiwidget
اصلا چی هست؟



یه
extension
هستش که با استفاده از اون می تونی از ویژگی های
jQuery UI
در پروژه ییی خودت استفاده کنی
http://www.yiiframew...m/extension/jui
0

#8 User is offline   Ramin Rezazadeh 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 21
  • Joined: 01-April 11

Posted 28 April 2011 - 03:38 AM

سلام احسان.

jui
تو خود فریم ورک هست. لازم نیست که حتما از
extension
خاصی استفاده کنی. تو آدرس :
zii.widgets.jui
وجود داره

2

#9 User is offline   bamdad dashtban 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 32
  • Joined: 09-April 11

Posted 28 April 2011 - 04:18 AM


خوب من کد رو زدم
امیدوارم مشکلت رو حل کنه
کارهایی که من کردمو به ترتیب می گم دیگه خودت روندو می بینی:
اومدم اول توی کنترلر
SiteContoller
یه متد با نام
Test
ساختم
که به دو صورت عمل می کنه اول برای درخواست های آژاکسی و بعدش هم برای درخواست های معمولی
یه آرایه به اسم
data
هم ساختم که توش داده هامو از کنترلر پاس بدم به ویو تو کد زیر می تونی ببینی

public function actionTest(){
        if(Yii::app()->request->getIsAjaxRequest()){
            var_dump($_REQUEST);
            }
        else{
            $data=array('test'=>'test');
            $this->render('juitest',$data);
            }
        }


این هم قسمت ویو
یه فرم ساختم و بعد با آژاکس سابمیتش کردم

<? $this->beginWidget('zii.widgets.jui.CJuiDialog', array(
    'id'=>'renameDialog',
    'theme'=>'humanity',//age hamchin themi dari! nadari varesh dar
    // additional javascript options for the dialog plugin
    'options'=>array(
        'title'=>'Rename',
        'autoOpen'=>false,
    ),
));
    echo CHtml::beginForm(); 
    echo Chtml::textField('filename' , $test);
    echo Chtml::ajaxSubmitButton('test',Yii::app()->request->baseUrl.'/site/test');
    echo CHtml::endForm();



$this->endWidget('zii.widgets.jui.CJuiDialog');

   echo  CHtml::link('rename', '#', array(
                    'onclick' => '$("#renameDialog").dialog("open"); return false;',
    ));
   ?>

با تشکر از رامین عزیز که در قسمت
jQuery
کلی کمک کرد
2

#10 User is offline   morteza toloo 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 10
  • Joined: 06-February 11

Posted 30 April 2011 - 12:41 AM

View Postehsanjs, on 28 April 2011 - 02:08 AM, said:


برای ویرایش نام فایل
من به اینجا رسیدم که
در کنترلر مربوطه یه اکشن و فایل اسکریپت مربوطه رو ساختم
داخل این فایل این رو نوشتم

$this->beginWidget('zii.widgets.jui.CJuiDialog', array(
    'id'=>'renameDialog',
    // additional javascript options for the dialog plugin
    'options'=>array(
        'title'=>'Rename',
        'autoOpen'=>false,
    ),
));

    echo Chtml::textField('filename' , $filename);

$this->endWidget('zii.widgets.jui.CJuiDialog');


این و که برای فایل ویو نوشتین درسته و مشکلی نداره.
البته طبیعتا میدونین که کامل نیست. کاملش و میشه از پست بامداد جان استفاده کرد:
به جای یک فیلد نام فایل از این فرم استفاده کنید:

    echo CHtml::beginForm(); 
    echo Chtml::textField('filename' , $test);
    echo Chtml::ajaxSubmitButton('test',Yii::app()->request->baseUrl.'/site/test');
    echo CHtml::endForm();


Quote


در صفحه ای که لیست فایلها رو نشون می ده جدول گذاشتم
در هر سطر جدول این لینک وجود دارد

        $rename = CHtml::link('rename', '#', array(
                    'onclick' => '$("#renameDialog").dialog("open"); return false;',
                ));


در اینجا هم به جای لینک عادی از لینک آژاکس استفاده کن. همچنین مشخص کن که پاسخ سرور کجا ریخته بشه:
<div id='dialog' style="display: none"></div>
        $rename = CHtml::ajaxLink('rename', 
                array('/admin/file/rename', 'filename' => $attribs['name']),
                array(
                    'type' => 'post',
                    'update' => 'div#dialog');

الان من یک
div
به اسم دیالوگ گذاشتم و مشخص کردم که پاسخ صفحه داخل اون قرار بگیره.

قدم آخر داخل کترلر قبل از رندر باید
layout
و غیرفعال کنی.

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