Tworzenie własnych obszarów oraz problem z własną skórką podczas zarzadzania

3 odpowiedzi [Ostatni wpis]
ronin
Portret użytkownika ronin
Dołączył: 04.06.2010
Postów:
Użytkownik niedostępny. Ostatnio widziany 12 tygodni 5 dni temu.

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

inforion
Portret użytkownika inforion
Dołączył: 16.06.2009
Postów:
Użytkownik niedostępny. Ostatnio widziany 8 godzin 24 min. temu.

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

ronin
Portret użytkownika ronin
Dołączył: 04.06.2010
Postów:
Użytkownik niedostępny. Ostatnio widziany 12 tygodni 5 dni temu.

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

inforion
Portret użytkownika inforion
Dołączył: 16.06.2009
Postów:
Użytkownik niedostępny. Ostatnio widziany 8 godzin 24 min. temu.

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