Tworzenie własnych obszarów oraz bloki - co jest czym
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ą.
- 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?
- 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śnie 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



He, he, na stronie Bloki
archetwist, czw., 2010-06-10 17:10 moderatorpage.tpl.php,node.tpl.php) obszar (<?php print $content ?>). Dodatkowo, obszary definiujesz w pliku .info i umieszczasz w szablonach skórki, a bloki umieszczasz w obszarach za pomocą interfejsu Drupala.tworzenie stron • grafika • doradztwo drupalowe
Dobraa....
foxhunt, pt., 2010-06-11 13:19Witam
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.phpza 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łaśnie Ci tłumaczyłem, że
archetwist, pt., 2010-06-11 22:05 moderatorWłaśnie Ci tłumaczyłem, że obszar odpowiadający za treść to zawsze
$content. Jeśli ma być w różnych miejscach zależnie od rodzaju wpisu, to możesz skorzystać z takiego kodu:http://snipplr.com/…y-node-type/
Należy go umieścić w
page.tpl.php, kopiując wcześniej całą zawartość tego pliku dopage-default.tpl.php.Istotne są fragmenty takie jak ten:
home_pageto w tym wypadku nazwa rodzaju zawartości (np. albo ), apage-home_page.tpl.php– szablon dla tego rodzaju zawartości.Możesz też skorzystać z lub . Ten ostatni moduł pozwala umieszczać zawartość wpisów w blokach.
tworzenie stron • grafika • doradztwo drupalowe