Yii Framework Forum: Assets + js + css - Yii Framework Forum

Jump to content

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

Assets + js + css Rate Topic: -----

#1 User is offline   Stageline 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 15
  • Joined: 03-February 12

Posted 09 February 2012 - 02:14 PM

Hali. Ez a view file-om tartalma, lehetne ezt valahogyan szebben és egyszerűbben?

<?php $this->breadcrumbs = array(Yii::t("z3us", "videos")); ?>

<?php $this->widget('zii.widgets.CListView', array
(
	'dataProvider'=>$dataProvider,
	'itemView'=>'_view',
	'sortableAttributes'=>array
	(
		'title',
		'added',
    ),
));?>

<?php
$file1 = Yii::app()->getAssetManager()->publish( Yii::getPathOfAlias('application.views.index.javascript').'/jquery.easing.1.3.js' );
$file2 = Yii::app()->getAssetManager()->publish( Yii::getPathOfAlias('application.views.index.javascript').'/jquery.movingboxes.min.js' );
$file3 = Yii::app()->getAssetManager()->publish( Yii::getPathOfAlias('application.views.index.css').'/movingboxes.css' );
Yii::app()->clientScript->registerScriptFile($file1);
Yii::app()->clientScript->registerScriptFile($file2);
Yii::app()->clientScript->registerCssFile($file3);
?>

0

#2 User is offline   Rajcsányi Zoltán 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 46
  • Joined: 10-November 09
  • Location:Hungary, Zalaegerszeg

Posted 04 April 2012 - 02:28 AM

Erre a témára a widget és portlet témakörben láttam megvalósításokat.

Lehet, hogy ronda megoldás de én úgy oldottam meg, hogy a /js könyvtárba tettem a javascript könyvtáraim és nem bíztam rá az asset manager-re.

És pont azért mert ez a megoldás nem tetszett nem használtam az asset-et, de jobbat nem tudok, jó lenne ha valaki megosztana velünk egy szebb megoldást.
---
Zoltan Rajcsanyi
homepage: http://ezmegaz.hu
skype: zolones7666

0

#3 User is offline   gesti 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 23
  • Joined: 07-September 11
  • Location:Hungary

Posted 20 September 2012 - 02:52 AM

View PostStageline, on 09 February 2012 - 02:14 PM, said:

Hali. Ez a view file-om tartalma, lehetne ezt valahogyan szebben és egyszerűbben?

<?php $this->breadcrumbs = array(Yii::t("z3us", "videos")); ?>

<?php $this->widget('zii.widgets.CListView', array
(
	'dataProvider'=>$dataProvider,
	'itemView'=>'_view',
	'sortableAttributes'=>array
	(
		'title',
		'added',
    ),
));?>

<?php
$file1 = Yii::app()->getAssetManager()->publish( Yii::getPathOfAlias('application.views.index.javascript').'/jquery.easing.1.3.js' );
$file2 = Yii::app()->getAssetManager()->publish( Yii::getPathOfAlias('application.views.index.javascript').'/jquery.movingboxes.min.js' );
$file3 = Yii::app()->getAssetManager()->publish( Yii::getPathOfAlias('application.views.index.css').'/movingboxes.css' );
Yii::app()->clientScript->registerScriptFile($file1);
Yii::app()->clientScript->registerScriptFile($file2);
Yii::app()->clientScript->registerCssFile($file3);
?>



Én azért nem hajítanám ki az assetsManager-t. Jó az akkor ha extension-t vagy module-t írsz és tényleg szeretnéd hogy modulárisak legyenek.
Asset manager tud egész könyvtárakat másolni így a fentieket a következőképpen lehet egyszerűsíteni:
<?php
$jsAssetsPath = Yii::app()->assetManager->publish( Yii::getPathOfAlias('application.views.index.javascript') );
Yii::app()->clientScript->registerCssFile(
    Yii::app()->getAssetManager()->publish(
        Yii::getPathOfAlias('application.views.index.css').'/movingboxes.css'
    )
);
Yii::app()->clientScript->registerScriptFile("$jsAssetsPath/jquery.easing.1.3.js");
Yii::app()->clientScript->registerScriptFile("$jsAssetsPath/jquery.movingboxes.min.js");
?>

Még ezt lehetne tovább finomítani a CClientScript packages tömbjével.
Azt azért megjegyezném, hogy ha module-t írsz, akkor jobb megoldást kell találni a getPathOfAlias helyett, hisz lehet hogy module-odat később nested-module-nak szeretnéd használni.
0

#4 User is offline   Rajcsányi Zoltán 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 46
  • Joined: 10-November 09
  • Location:Hungary, Zalaegerszeg

Posted 25 October 2012 - 03:47 PM

Újra reagálok a bejegyzésre. Időközben megismerkedtem a widget írás, modul írás rejtelmeivel.
Alapvetően a főkönyvtárban lévő /js /css is jó megoldás, de ha modulárisan több kódba felhasználható beépülőket szeretnétek írni, mindenképpen az asset-ek a jó megoldás.

Sok minden még most sem egyértelmű számomra, főleg a themes, messages része a yii-nek, illetve, hogy hogyan kellene igazán szépen használni.

Idővel és gyakorlással majd megtudom, esetleg aki ezt már szervesen használja, az bedobhatna egy kommentet ide, hogy mit és hogy...
---
Zoltan Rajcsanyi
homepage: http://ezmegaz.hu
skype: zolones7666

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