Nawigacja
Książka
# W każdy czwartek o 22:00 #
Spotkania ludności drupal.pl na IRC- odpal czat -
- dedykowany temat na forum -
Ostatnie tematy na forum
- Błąd formularza w linii albo popup
- silder problem z sortowaniem
- Ustawienia szablonu - kilka pytań nowicjusza.
- Wspólny projekt.
- Problem z forum
- Problem zawijania tekstu przy obrazach w artykułach
- views + warunki
- Pozycje w menu same zmieniają miejsca
- Szybki komplet baramek proxy
- Klonowanie rodzaju zawartości
Shoutbox
grzegorz.bartman:
Wybiera się ktoś na DrupalCon do Monachium? 6 dni 2 godziny ago |
malcolm:
No, wspomnień czar ;) 1 tydzień 3 dni ago |
Niestandradowe podstrony
- Zaloguj się lub utwórz konto, by odpowiadać
- Zaloguj się lub utwórz konto, by odpowiadać
Problem prezentuje się następująco - moja witryna ma wiele podstron, które niestety nie dzielą tego samego layout'u. De facto każda ze stron witryny używa jednego z 3 lay'ów - dwie kolumny (prawa węższa), dwie kolumny (lewa węższa), jedna kolumna (brak podziału). Która i kiedy czego używa - różnie, w zależności od potrzeb i względów estetycznych. Nie ma jakiegoś wzorca czy schematu - wolna amerykanka.
Do tego strony te składają się praktycznie tylko i wyłącznie z takich czy innych bloków - bardzo rzadko zdarza się, że strona ma formę artykułu (ciągły tekst z np. ilustracjami). Same bloki także zawierają ilustracje i tekst (w tym listy), rozłożony w bardzo różny sposób (znowu - inne layout'y).
Moje pytanie brzmi - jak najlepiej tworzyć takie strony w Drupalu, by zrobić to możliwie optymalnie, zaoszczędzić sobie wysiłku i pracy, a także by móc korzystać w przyszłości z tego, co się już stworzyło (bloków itd.)?
Bloki definiować poprzez moduły, czy też ręcznie, poprzez panel administracyjny?
Jak stworzyć kilka różnych layout'ów (vide dwie kolumny, jedna itd.), a później przełączać się między nimi np. w zależności od sekcji strony? Czy muszę sięgać do PHP, czy też Drupal potrafi to zrobić lepiej, w jakiś sposób automatycznie?
Wybaczcie, jeśli to nieco chaotyczne, ale jestem jeszcze dosyć zielony z zarządzania treści w Drupalu.





1. Bloki lepiej twórz w blokach - wtedy możesz je edytować przez interface.
2. Zmiana szablonu nie jest taką prostą sprawą. Możesz poszukać modułów do tego - np. kiedyś gdzieś był taki który zmieniał theme np dla określonych kategorii albo ścieżek.
Jeśli twoja strona nie jest zbyt duża i nie będzie się rozwijała zbyt szybko i jesteś jedynym edytorem:
kopiuj plik page.tpl.php kilka razy, zmodyfikuj je. Plik page.tpl.php niech będzie dużym casem, który inkluduje właściwe strony w zależności od url'a
Drupal 5 może obsługiwać różne szablony zależnie od urla:
http://drupal.org/node/104316
Możesz zrobić własny moduł - nowy typ zawartości w którym wybierasz szablon z listy. Albo zrobić taksonomię i przypisywać do niej node, a potem użyć taxonomy theme.
Paweł Gawłowski
e-solutions.pl
Paweł Gawłowski
e-solutions.pl
Dzięki za odpowiedź.
Poszedłem po rozum do głowy i zmieniłem layout/koncepcję - dwie kolumny, na stałe, bloki wyświetlane w zależności od sekcji (wbudowanym mechanizmem Drupala).
Stara zasada KIS powinna być prawnie uregulowana ;)
[ Web applications ]
http:// www.ioculus.com
zaraz, zaraz, nie rezygnuj tak szybko
słuchaj (czytaj), można zrobić tak:
- zmienić moduł z typem zawartości (np. story.module) w części dotyczącej dodawania node i w formularzu dodawania node, dodać nowe pole lub pola, w których ustalisz, jakie blogi przy tym poście mają być wyświetlane
jesli bloków nie będzie zbyt wiele, to możesz: pobrać z bazy listę bloków, w checkboxach zaznaczyć, czy maja być wyświetlane przy tym poście,
jeśli bloków będzie dużo - pole tekstowe, w które wpisywać będziesz nazwy bloków po przecinku
- zmienić moduł z typem zawartości w części dotyczącej wyświetlania i dodać funkcję, która sprawdzi, jakie bloki mają być przy tym poście wyświetlane
to jest całkiem ciekawy pomysł
pozdrawiam
kors4r
---------
drupal.org.pl - jeszcze jedna strona o drupalu
pozdrawiam
kors4r
---------
drupal.org.pl - jeszcze jedna strona o drupalu
Dzięki za pomysły. Dobrze mieć takowe na podorędziu i w razie czego móc z nich skorzystać.
Ale zmieniłem koncepcje z jednego głównego powodu - KIS (Keep It Simple). Takie podejście pozwala mi uniknąć niepotrzebnego babrania się w kodzie (czas to pieniądz, w moim przypadku dosłownie. Zmiany kodu to poświęcanie tegoż czasu, ergo pieniędzy), poza tym sam layout/strona nie traci na tym, a może nawet i zyskuje (ustalony schemat, do pewnych granic, jest sporym plusem i dla użytkownika, i dla developera).
Co do kolejnego rozwiązania - jest też wersja "ręczna":
- dodałem nowy typ zawartości (robocza nazwa "content"),
- stworzyłem node o takim typie, a w jego treść wstawiłem kod XHTML + wywołania bloków + wywołania widoków (views) w odpowiednich miejscach,
- podlinkowałem ów node pod pozycję menu.
I tyle. Po kliknięciu na link otwiera się węzeł typu "content" (tak jak zwykły artykuł/węzeł typu story/page), który służy tylko i wyłącznie do rozłożenia treści. Dlaczego nie wykorzystałem np. node.page? Żeby nie mieszać - mam zestylowane CSS'ami standardowe node'y (page, story itd.), więc musiałbym przy pewnych warunkach usuwać ramki, tło, tytuły itd. Tworząc nowy typ dostaje "goły" container (sorry za ponglish - polski jest do terminów technicznych do d...) w którym rozstawiam sobie spokojnie zawartość podług własnego widzimisię.
Nie jest to rozwiązanie idealne (trzeba jednak wstawiać kod PHP), ale działa i nie jest też aż tak kłopotliwe.
Mam nadzieję, że nie zakręciłem zbytnio tematu i da się zrozumieć.
[ Web applications ]
http:// www.ioculus.com