Yii Framework Forum: Moduły - Yii Framework Forum

Jump to content

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

Moduły Rate Topic: -----

#1 User is offline   Migo2468 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 7
  • Joined: 19-April 12
  • Location:Gdynia, Polska

Posted 05 September 2012 - 10:03 AM

Witam, z uwagi że znalazłem w końcu czas i chęci to usiadłem do Yii.

Na starcie posłużyłem się modułem http://www.yiiframew...ension/yii-user

Moduł wrzuciłem do folderu blog/protected/modules/user jak mówiła instrukcja instalacji, uzupełniłem pliki confing wedle instrukcji i mam dziwny problem mianowicie.

Niestety nie wykonałem polecenia w konsoli, mimo wielkich starań nie umiem odnaleźć konsoli w yii.


Z uwagi na to ze moduł znajduje się w podfolderze: modules/user mam problem z layouts/mine.php. Posłużyłem się tutaj opcją kopiuj wklej do testów ale raczej tak nie powinno być. Jak domyślnie wczytywać layouts do modułu?

Druga sprawa tyczy się samych odsyłaczy. Ponieważ w module nie było żadnego bocznego menu trzeba było je samemu złożyć no więc zabrałem się za boczne menu odpowiadający plik to layouts/column2.php. Dobrałem sie do pliku po ścieżce przekierowanień i urozmaiciłęm go tak:

<ul>
	<li><?php echo CHtml::link('Create New Post',array('post/create')); ?></li>
	<li><?php echo CHtml::link('Manage Posts',array('post/admin')); ?></li>
	<li><?php echo CHtml::link('Approve Comments',array('comment/index')) . ' (' . Comment::model()->pendingCommentCount . ')'; ?></li>
	<li><?php echo CHtml::link('Logout',array('site/logout')); ?></li>
	<li><hr></li>
	<li><?php echo CHtml::link('Lista użytkowników',array('user/admin/index')); ?></li>
	<li><?php echo CHtml::link('Nowy użytkownik',array('user/admin/create')); ?></li>
	<li><?php echo CHtml::link('Pola profilowe',array('user/profileField/')); ?></li>
	<li><?php echo CHtml::link('Nowe pole profilowe',array('user/profileField/create')); ?></li>
</ul>


Niestety istnieje olbrzymi problem, pewno spowodowany tym ze coś źle osadziłem lub zainstalowałem. Gdy jesteśmy na stronie domyślnej bloga czyli index.php odsyłacze działają poprawnie. Lecz gdy wejdę w jakaś stronę moduły odsyłacze się psują tzn odnoszą się do katalogu nadrzędnego a ja chcę je cofać tworzy się takie coś: index.php/user/post/admin.
Da się to zrobić dublując ten plik i wywołując go zależnie od miejsca ale raczej nie tak miało być.


Robię gdzieś błędy czy ktoś pomógł by mi zlokalizować błąd?



Z góry dziękuje i pozdrawiam.
0

#2 User is offline   Migo2468 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 7
  • Joined: 19-April 12
  • Location:Gdynia, Polska

Posted 06 September 2012 - 10:42 AM

Czy jest dobra dusza która by mi wyjaśniła filozofię tych modułów.


2 problem poprawiłem dodając / do odnośników.


Dalej pozostaje problem z layouts.
0

#3 User is offline   luk1999 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 35
  • Joined: 20-April 11
  • Location:Poland

Posted 12 September 2012 - 01:57 PM

View PostMigo2468, on 05 September 2012 - 10:03 AM, said:

Niestety nie wykonałem polecenia w konsoli, mimo wielkich starań nie umiem odnaleźć konsoli w yii.

Chodzi ci o punkt Change your config console? Po prostu zmodyfikuj plik /protected/config/console.php.

View PostMigo2468, on 05 September 2012 - 10:03 AM, said:

Niestety istnieje olbrzymi problem, pewno spowodowany tym ze coś źle osadziłem lub zainstalowałem. Gdy jesteśmy na stronie domyślnej bloga czyli index.php odsyłacze działają poprawnie. Lecz gdy wejdę w jakaś stronę moduły odsyłacze się psują tzn odnoszą się do katalogu nadrzędnego a ja chcę je cofać tworzy się takie coś: index.php/user/post/admin.
Da się to zrobić dublując ten plik i wywołując go zależnie od miejsca ale raczej nie tak miało być.

Pokaż swój /protected/config/main.php...
0

#4 User is offline   apptension 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 2
  • Joined: 13-September 12

Posted 13 September 2012 - 03:39 PM

Witam serdecznie,

Ad 1.
Layout danego kontrolera jest przechowywany w parametrze layout klasy CController. Żeby ustawić swój layout w danym kontrolerze wystarczy na początku klasy kontrolera ustawić mu parametr $layout = 'nasza/sciezka/do/layoutu'.

<?php
class NaszKontroler extends CController {
public $layout = 'nasza/sciezka/do/layoutu';
}


Należy przy tym pamiętać, że jeżeli jesteśmy w module (np. user) to wszystkie ścieżki (w kontrolerach, layoutach itd.) będą się odnosiły do tego modułu. Aby wskazać, że chcemy wywołać layout z głównego katalogu views musimy zapisać na początku dwa ścieżki dwa slashe np. $layout = '//nasza/sciezka/do/layoutu/w/glownym/katalogu/views/layouts/'



Mam nadzieję, że o to chodzi?
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