Książka
Nawigacja
Tworzenie własnych obszarów oraz problem z własną skórką podczas zarzadzania
- Zaloguj się lub utwórz konto, by odpowiadać
- Zaloguj się lub utwórz konto, by odpowiadać
Witam
Mam Drupala 6
Postanowiłem oprzeć na tym CMSie stronke, która robię dla znajomego. Mam ją już pocięta do xhtml + css’a. Poczytałem na necie o własnych skórkach i ktoś doradzał, żeby przerabiać skórkę bluemarine na własne potrzeby bo jest ona najprostsza i najłatwiej to zrobić. Do czego zmierzam, stwierdziłem, że skoro mam już pociętą stronę, to w miejscach gdzie był do tej pory tekst lub menu, wstawie po prostu coś takiego:
<?php print $nazwa_pola; ?>
A w pliku nazwaskórki.info dopisałem:
regions[nazwa_pola] = Moje nowe pole
Tak też zrobiłem, jednak nie wszystko zadziałało. Strona niby wyświetla się poprawnie. W miejscach gdzie było menu wstawiłem fragment kodu:
<?php if (isset($secondary_links)) { ?><?php print theme('links', $secondary_links, array('class' => 'links', 'id' => 'subnavlist')) ?><?php } ?>
<?php if (isset($primary_links)) { ?><?php print theme('links', $primary_links, array('class' => 'links', 'id' => 'navlist')) ?><?php } ?>
A następnie w drupalu stworzyłem odpowiednie działy w menu i jest OK. Ale przejdźmy do problemu. Dwie sprawy mnie przerastają.
1) Gdy załadowałem swoja skórke do drupala, wszystko działa jak należy z wyjątkiem jednej rzeczy. Gdy jestem zalogowany jako admin i chce dodawać lub edytować jakieś newsy wchodząc do działu BLOKI pojawia mi sie moja załadowana skórka, a chciałbym aby byl standardowy gerland. Znalazłem do tego odpowiednią opcje w drupalu, ze do zarządzania ma być skórka gerland. I rzeczywiście to działa. Wszystko mogę robić jako admin na skórce gerland jednak gdy wejdę w dział BLOKI skórka w tym miejscu zmienia się na tę moją. A tam wszystko jest wświetlane w taki sposób, ze jest mało czytelne, panuje bałagan itd. To w ten sposób nie moze zostac bo znajomy nic tam nie bedzie widzial, zeby sobie coś zmienic. Czy mogę prosić o jakieś rozwiązanie dalczego tak sie dzieje, że tylko dział BLOKI widze na swojej skórce a wszystko inne jak nalezy na gerlandzie?
2) Druga sprawa to właśnie te własne pola, lub obszary, o których pisałem na poczatku ze wstawiłem w miejsca gdzie miałem tekst. Nie mogę zmusić drupala, aby np. STORY wyswietlal właśni e w polu, ktore sobie stworzylem, nazwalem i umieściłem w odpowiednim miejscu na mojej stronie. Czy jest jakaś różnica między OBSZAREM a BLOKIEM? Bo nie mogę do tego za nic w swiecei dojsc. Krótko mówiąc wyobrażam sobie tworzeni własnych skórek dla drupala w ten sposób, że tnę nornalnie strone do xhtml+css, a nastepnie w miejscach gdzie chce miec jakies teksty wstawiam takie kody (oczywiście kazdy inną miałby nazwę pola):
<?php print $nazwa_pola; ?>
A nastepnie czyszcze pamiec w drupalu i w odpowiednie pola wstawiam sobie menu, story itd. Niby proste z założenia jednak coś robię źle. Mogę prosić o wytłumaczenie jak to należałoby zrobić?
Załóżmy ze chce miec na stronie głownej obok siebie artykuly, recenzje oraz zapowiedzi. W drupalu chcialbym sobie stworzyc nowy rodzaj zawartosci, czyli wlasnie artykuly, recenzje, zapowiedzi. A następnie chcialbym aby dodawane rzeczy jako zawartosc artykuly pokazywaly sie w wybrnaym miejscu, recenzje dodawane znow w innym miejscu itd.
Hm... mam nadzieje, że jakoś w miarę zrozumiale to przedstawilem? Proszę o pomoc w zrozumieniu działania. Jak to należy po kolei co gdzie stworzyć. Myslę, że jeden przykład pozwoli mi na dalsze samodzielne eksperymetnowanie z tym CMSem.
Pozdrawiam
Tomek



ad 1)
http://www.drupal.pl/node/1366
ad 2)
W regionach możesz osadzać bloki. W pliku .info deklarujesz wszystkie regiony, które będą występowały w skórce. Na stronie zarządzania blokami kojarzysz blok z jednym z tych regionów. W pliku page.tpl.php wyświetlasz regiony np dla regionu moj_region.
<?php print $moj_region; ?>
Rozmieszczenie regionów i ich dekoracje robisz za pomocą CSS.
------------------------------------------------------------------------------------------
Inforion wdraża Drupala i pisze o Drupalu na Blipie
Witam
Dzięki co do ad1 już mi się sytuacja znacznie rozjaśniła.
Co do regionów i obszarów też chyba to powoli zaczynam kumać. Wytłumacz mi tylko jeszcze jedną rzecz, a mianowicie:
- Gdy już sobie zdefiniuje własne obszary w pliku *.info oraz w pliku page.tpl.php za pomocą <?php print $moj_region; ?> oraz stworze w dziale Zawartość nowy rodzaj zawartości np. recenzje to jak i gdzie sprawdzić, aby dodawana zawartość "recenzje" pojawiały się właśnie w jednym z utworzonych przeze mnie obszarów. Jak to załapie to jestem chyba w domu :)
Dzięki z góry za odpowiedź
Pozdrawiam
W pliku page.tpl.php znajduje się następująca linia:
<?php print $content; ?>
Pod zmienną $content zostanie podstawiony zawartość szablonu node.tpl.php. W pliku node.tpl.php znajduje się także:
<?php print $content; ?>
Tutaj pod zmienną $content zostanie podstawiona zawartość tego co wpiszesz w body edytując recenzję. Jeśli do recenzji dodasz wiele pól CCK to w zmiennej $content będą znajdowały się wszystkie wartości tychże pól. Jeśli chcesz je rozmieścić po swojemu to użyj modułu www.drupal.org/project/contemplate Całą resztę (dekoracje i rozmieszczenie) musisz wykonać w stylach CSS.
Jeśli chcesz zbudować własny szablon recenzji to musisz utworzyć plik node-recenzje.tpl.php. Generalnie o tematach w drupalu można dużo pisać, ale przede wszytkim najpierw należy zapoznać się z obszerną dokumentacją http://drupal.org/theme-guide/6 i zajrzeć do tutoriali na stronie http://idrupal.pl/
------------------------------------------------------------------------------------------
Inforion wdraża Drupala i pisze o Drupalu na Blipie