PDA

Zobacz pełną wersję : Jak sprawdzić jaki aktualnie wyświetlany jest komponent?



abdiel
26-02-2009, 00:25
Witam!
Zastanawiam się jak mogę sprawdzić z kodu jaki aktualnie komponent jest wyświetlany.
Aby sprawdzić moduł pisze się:
if($this->countModules('nazwa'))

Ale jak to zrobić w przypadku komponentu?

Będę wdzięczny za pomoc

robdk
26-02-2009, 08:12
Nazwa pobrana aktualnie wyświetlanego komponentu:

$option = mosGetParam( $_REQUEST, 'option', '' );

abdiel
26-02-2009, 13:08
Dzięki wielkie działa jak powinno, o to mi chodziło!!

abdiel
26-02-2009, 23:20
Jeżeli używam alpha Content do wyświetlania wiadomości i w menu mam kilka pozycji które korzystają z tego komponentu to jak mogę uzyskać jakiś unikalny numer dla każdej z tych pozycji?

Chodzi mi o to, ze chciałbym napisać kawałek kodu, który w zalezności od kliknięcia danej pozycji w menu wyświetli coś innego. Problem polega na tym, że link, z tego menu prowadzi bezpośrednio do listy wiadomości i w tym przypadku pobierająć nazwę aktualnie używanego komonentu zawsze uzyskam tą samą wartość.

Może id pozycji? Ale jak to zrobić? Będę bardzo wdzięczny za pomoc i ewentalne propozycje

robdk
27-02-2009, 07:40
Hej
Każdy komponent ma wyśiwetlanie defaultowe więc zawsze jak podajesz tylko nazwę komponentu to zostanie ta zawartość wyświetlona...
Dlatego by korzystać z różnych wyświetlań w pliku nazwa_komponentu.php jest za pomocą switch() ustawiane różne akcje w zalezności od parametrów przekazanych przez link.
Musisz przeanalizować ten kod i tam wstawić sobie albo jakiś znacznik rozróżniający lub ew. kod wyświetlający daną wiadomość... lub po przekazywancyh parametrach do switch() wykonywać określoną akcję...

abdiel
27-02-2009, 14:55
Dzięki wielkie za pomoc, przeanalizuję i jak się uda, dam znać :)

abdiel
27-02-2009, 21:59
To jeszcze jedna sprawa :)
Jak wczytać komponent z parametrem?
Używałem funkcji: mosLoadComponent, ale wyczytuje ona tylko cały komponent, bez parametrów, a ja potrzebuję wczytać np. Listę użytkowników z Community Builder. pod innym komonentem.
mosLoadComponent('comprofiler&task=userslist'); nie działa... Co zrobić?

robdk
02-03-2009, 13:14
przejrzyj kod modułow do CB, tam może coś znajdziesz do wykorzystania...