Help, pomocy! Model w module.

Cześć,

Pewnie znajdzie sie tu ktos kto bedzie mogl mi pomoc.

Zrobiłem sobie w aplikacji moduł ‘admin’. Taki zwykły zestaw paneli który umożliwia mi m.in. dodawanie nowości na stronie.

W tym module mam model ‘News’. Jeżeli korzystam z tego modelu w akcjach kontrolerów będących częściami modułu ‘amin’ to wszystko jest oczywiste i ok. Piszę sobie np ‘News::model()->count($criteria)’.

Ale teraz chciałbym na stronie głównej tej aplikacji wyświetlić te nowości. :)

I pytanie w jaki sposób uzyskać dostęp do modelu ‘News’ w module ‘admin’ z kontrolera nie należącego do modułu ‘admin’?

Każdy moduł automatycznie importuje należące do niego modele podobnym kodem:




		// import the module-level models and components

		$this->setImport(array(

			'cs.models.*',

			'cs.components.*',

		));



Jeżeli jednak chcesz użyć modelu z innego modułu musisz go zaimportować za pomocą metody:




YiiBase::import()



http://www.yiiframework.com/doc/api/YiiBase#import-detail

Potem możesz już na nim działać :)

W protected/config/main.php masz możliwość zdefiniowania klas i/lub katalogów klas, które mają być importowane przy starcie aplikacji…




return array(

  .....

  'import'=>array(

    .....

    'application.modules.admin.models.*',

  ),

  .....

);



Więc jeśli Twój moduł nazywa się admin, to dodanie takiej linii j/w do ‘import’ spowoduje, że każdy model z modułu admin będzię widoczny w całej aplikacji

Może któryś moderator usunać posta, napisałem nie w tym temacie :confused:

Obawiam się, że nie ma polskiego moderatora forum, a nie jestem pewien, czy nawet istnieje ktoś kto moderuje całe forum, we wszystkich językach! :)

Zawsze można skorzystać z opcji Report, która jest pod każdym postem.

Nie wspominając już o tym, że pod każdym WŁASNYM postem jest opcja “Edit” i “Delete”. Zwłaszcza z tej ostatniej warto skorzystać zamiast prosić być-może-wirtualnego moderatora o skasowanie postu! :) :) :)