Yii Framework Forum: Layout kezelés - Yii Framework Forum

Jump to content

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

Layout kezelés Rate Topic: -----

#1 User is offline   Speeedfire 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 192
  • Joined: 02-March 12

Posted 10 April 2012 - 08:17 AM

Hogy lehet a layout-okat kezelni? Nézegetem az alap css-t, de nem találtam semmit sem.
Lényegében 2 layoutot szeretnék, baloldalt egy sidebar, jobb oldalt a tartalom. Tehát a mostani ellentéte lenne.
0

#2 User is offline   phtamas 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 529
  • Joined: 26-February 11
  • Location:Mezőtúr, Hungary

Posted 10 April 2012 - 10:09 AM

View PostSpeeedfire, on 10 April 2012 - 08:17 AM, said:

Hogy lehet a layout-okat kezelni?


Pontosítanád egy kicsit a kérdést? Gondolom a yiic webapp által generált layout fájlokat már megtaláltad a views/layouts könytárban, és tudod, hogy ezeket tetszőlegesen módosíthatod/törölheted ill. új layoutokat készithetsz. Pontosan hol akadtál el? A css megírásánál?
0

#3 User is offline   Speeedfire 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 192
  • Joined: 02-March 12

Posted 10 April 2012 - 10:23 AM

View Postphtamas, on 10 April 2012 - 10:09 AM, said:

Pontosítanád egy kicsit a kérdést? Gondolom a yiic webapp által generált layout fájlokat már megtaláltad a views/layouts könytárban, és tudod, hogy ezeket tetszőlegesen módosíthatod/törölheted ill. új layoutokat készithetsz. Pontosan hol akadtál el? A css megírásánál?



Igen, azokat megtaláltam, csak magára a működésére nem jöttem rá, hogy mit hova tesz. Illetve, hogy hol tudom ezeket méretezni, mert a css fájlban erre nem találok utalást.
Igazából, mint írtam azt szeretném, hogyha a sidabar bal oldalon lenne és a tartalmi rész lenne jobb oldalon.
0

#4 User is offline   phtamas 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 529
  • Joined: 26-February 11
  • Location:Mezőtúr, Hungary

Posted 10 April 2012 - 10:40 AM

A generált css a Blueprint css frameworkre épül. A column2 layoutban a
<div class="span-19">...</div>

és a
<div class="span-5 last">...</div>

elemek az érdekesek, ezeknek a tartalmát kell felcserélned, az oszlopok szélességét pedig a "span-" értéke határozza meg, de a blueprint oldalán megtalálod a részletes leírást.
1

#5 User is offline   Speeedfire 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 192
  • Joined: 02-March 12

Posted 10 April 2012 - 03:13 PM

View Postphtamas, on 10 April 2012 - 10:40 AM, said:

A generált css a Blueprint css frameworkre épül. A column2 layoutban a
<div class="span-19">...</div>

és a
<div class="span-5 last">...</div>

elemek az érdekesek, ezeknek a tartalmát kell felcserélned, az oszlopok szélességét pedig a "span-" értéke határozza meg, de a blueprint oldalán megtalálod a részletes leírást.


Na, ennek jobban utána kell majd nézni akkor, mert nem ismerem még a blueprint frameworköt. :)
0

#6 User is offline   imehesz 

  • Master Member
  • PipPipPipPip
  • Yii
  • Group: Members
  • Posts: 708
  • Joined: 13-June 09
  • Location:Jacksonville, FL

Posted 10 April 2012 - 04:48 PM

hali,

ezt is nezd meg, hatha segit valamelyik!

http://yiithemes.meh...theme/layoutgen

--iM
It’s done, the great act of creation.
The maker rests. The wheel’s in motion.
-- Imre Madách

check out Yii Theme Factory at http://yii.themefactory.net
2

#7 User is offline   Speeedfire 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 192
  • Joined: 02-March 12

Posted 11 April 2012 - 07:52 AM

Megnézegettem, amit szerettem volna meg is oldottam. Már csak 2 kérdésem lenne ezzel kapcsolatban.

Amikor 2 layer van, hogy mondom meg neki, hogy melyikbe mi kerüljön?
Én ezt "választottam":

<?php $this->beginContent('//layouts/main'); ?>
<div class="span-5">
    <div id="sidebar">
    <?php
            $this->beginWidget('zii.widgets.CPortlet', array(
                    'title'=>'Operations',
            ));
            $this->widget('zii.widgets.CMenu', array(
                    'items'=>$this->menu,
                    'htmlOptions'=>array('class'=>'operations'),
            ));
            $this->endWidget();
    ?>
    </div><!-- sidebar -->
</div>

<div class="span-19 last">
    <div id="content">
        <?php echo $content; ?>
    </div><!-- content -->
</div>
<?php $this->endContent(); ?>


Itt bal oldalt van egy kisebb rész és a tartalmi rész jobb oldalt van. Hogy lehet dinamikus tartalomnál ezt megadni?
Pl ha renderelek több tartalmat, akkor mindegyik view résznél megadom, hogy $this->layout = 'valami';
Ez még nem egészen kerek, illetve ti ajaxos kéréseknél, a controllerbe íratjátok ki? Mert én próbáltam saját view-ot csinálni hozzá, de behúzta az egész oldalt, nekem pedig csak a renderelt view tartalmi része kellene.
0

#8 User is offline   phtamas 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 529
  • Joined: 26-February 11
  • Location:Mezőtúr, Hungary

Posted 11 April 2012 - 10:50 AM

View PostSpeeedfire, on 11 April 2012 - 07:52 AM, said:

Megnézegettem, amit szerettem volna meg is oldottam. Már csak 2 kérdésem lenne ezzel kapcsolatban.

Amikor 2 layer van, hogy mondom meg neki, hogy melyikbe mi kerüljön?
Én ezt "választottam":

<?php $this->beginContent('//layouts/main'); ?>
<div class="span-5">
    <div id="sidebar">
    <?php
            $this->beginWidget('zii.widgets.CPortlet', array(
                    'title'=>'Operations',
            ));
            $this->widget('zii.widgets.CMenu', array(
                    'items'=>$this->menu,
                    'htmlOptions'=>array('class'=>'operations'),
            ));
            $this->endWidget();
    ?>
    </div><!-- sidebar -->
</div>

<div class="span-19 last">
    <div id="content">
        <?php echo $content; ?>
    </div><!-- content -->
</div>
<?php $this->endContent(); ?>


Itt bal oldalt van egy kisebb rész és a tartalmi rész jobb oldalt van. Hogy lehet dinamikus tartalomnál ezt megadni?
Pl ha renderelek több tartalmat, akkor mindegyik view résznél megadom, hogy $this->layout = 'valami';


Ha a dinamikus tartalom több egymástól független résztartalomból áll össze, akkor widgeteket vagy clipeket érdemes használni, a tartalom jellegétől és az oldal szerkezetétől függően.


View PostSpeeedfire, on 11 April 2012 - 07:52 AM, said:

illetve ti ajaxos kéréseknél, a controllerbe íratjátok ki? Mert én próbáltam saját view-ot csinálni hozzá, de behúzta az egész oldalt, nekem pedig csak a renderelt view tartalmi része kellene.


Ajax kéréseknél használd a renderPartial()-t.
1

#9 User is offline   Speeedfire 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 192
  • Joined: 02-March 12

Posted 11 April 2012 - 11:10 AM

View Postphtamas, on 11 April 2012 - 10:50 AM, said:

Ajax kéréseknél használd a renderPartial()-t.


Ez a második részt nem értem. Magában a controllerben használjam így? Ekkor nem fog a többi oldal rész betöltődni? Na ezt megnézem. :)
0

#10 User is offline   phtamas 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 529
  • Joined: 26-February 11
  • Location:Mezőtúr, Hungary

Posted 11 April 2012 - 12:43 PM

View PostSpeeedfire, on 11 April 2012 - 11:10 AM, said:

Ez a második részt nem értem. Magában a controllerben használjam így? Ekkor nem fog a többi oldal rész betöltődni? Na ezt megnézem. :)


Igen, a kontrollerben, a $this->render() helyett. Ha ugyanabból az actionból szeretnéd kiszolgálni az ajax és a nem ajax kéréseket is, akkor valahogy így:
if (Yii::app()->request->isAjaxRequest) {
  $this->renderPartial('myView', array('data' => $data));
} else {
  $this->render('myView', array('data' => $data));
}

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