Drukuj blok hosting Drupal
Istnieje wiele sytuacji, w których trzeba wydrukować widok obrębie węzła w witrynie Drupala. Dobrym przykładem może być strona portfolio wystawiających strony internetowe Drupal zostały wykonane przy użyciu slajdów Pokaz, który prezentuje zdjęcia swojej pracy. Nie jest możliwe, aby bezpośrednio drukować widok w węźle podobnie jak nie istnieje bezpośredni sposób wydrukować blok w węźle. Jednak jak Drupal jest bardzo elastyczny CMS i istnieją sposoby, aby wydrukować tylko o coś i że zawiera Drukowanie widoku w obrębie węzła.
Każdy, kto jest zaznajomiony z Drupal wie, że poglądy są niezwykle potężnym narzędziem, które może wykonać szereg zadań. Widoki są po prostu inteligentny kreator zapytań używany do tworzenia tabel, list i pokazy slajdów z danymi na swojej stronie. Stało się tak przydatne do budowy strony internetowej Drupal, że może pretendować do miana jednego z najbardziej pobranych modułów Drupal i nie ma nawet mowy o przeniesienie go do rdzenia Drupala.
Przypisywanie widok na węźle podlega kategoryzacji. Należy więc mieć trochę informacji na temat kategoryzacji pierwszy. Drupal korzysta z systemu szablonów PHP, co oznacza, że motyw Drupal składa się z plików szablonów. Pliki szablonów kończyć rozszerzeniem * .tpl.php. Aby utrzymać go krótka i prosta jest plik * .tpl.php dla strony (page.tpl.php) i pliku * .tpl.php dla węzła (node.tpl.php). Node.tpl.php służy do tematu treści pojawiających się w danym węźle. Dla np. treść stron i historie i page.tpl.php służy do tematu treści na stronach, które zwykle oznacza większość zawartości wokół węzłów, które obejmuje bloki.
Innym czynnikiem, który trzeba pamiętać podczas theming jest to, że cała obróbka uzyskania bloku, kod dla uzyskania bloku nie powinien być obecny w każdym miejscu na node.tpl.php. Jedyną rzeczą, która powinna być obecna w template.php jest kod, aby wydrukować zmienne, które zawierają blok. To jest droga Drupal pisanie kodu. To nie jest tylko filozofia, jego filozofia technicznie. To daje pewność, że istnieje wyraźne rozróżnienie między logiką i kategoryzacji. Umożliwia to Themer aby skoncentrować się na estetycznych aspektach Drupal jednocześnie umożliwiając programiście skupić się na kodzie
Powiedział, że nie ma bezpośredniego kara, jeśli nie inaczej. Można łatwo napisać logiki dla uzyskania bloku w pliku node.tpl.php i będzie działać tak samo dobrze. Ale co się dzieje, jeśli chcesz zmienić motyw? Trzeba przepisać kod do nowego tematu, a jeśli ktoś ma do zrobienia, że to sprawia, że ich zadanie trudniejsze niż być powinno.
Więc gdzie właściwie napisać kod?
Każdy motyw Drupal posiada plik template.php albo powinien mieć jeden. Ów, gdzie miejsce wszystkich logikę do tematu. Plik template.php zawiera wiele funkcji o wdzięcznej funkcje wstępnego przetwarzania. Ponieważ mamy do czynienia z wyprzedzającym dla węzła będziemy musieli umieścić kod wewnątrz funkcji mytheme_preprocess_node (). Funkcja ta zajmuje się wszystkimi wyprzedzającym przed węzeł jest załadowany
Przed wyruszeniem na wydrukować widok trzeba utworzyć widok. W Drupal 6 trzeba pobrać moduł poglądów i umożliwienia mu tego zrobić. Następny utworzyć widok bloku, czy chcesz wydrukować. Poniżej znajduje się kod dla uzyskania widoku być zapisany w pliku template.php.
Jak widać views_get_view () jest funkcją, która jest używana, aby uzyskać widok, który chcesz wydrukować w węźle. Przyjmuje w imieniu maszynowego widzenia jako argumentów. Jeśli musimy przechodzić żadnych argumentów do widzenia, jak mówią, przekazując identyfikator węzła do widoku możemy przekazać go w funkcję wyświetlania realizacji jako tablicę argumentów. Funkcja ta jest przydatna, jeśli chcesz, aby załadować tylko obrazy związane z tym węźle, kiedy to węzeł jest załadowany. „Your_view_block” to nazwa maszyna bloku widoku. Wreszcie widok jest przekazywana do tablicy $ VAR jako „block_variable”.
Z wyprzedzającym teraz ponad wszystko musimy zrobić, to wydrukować widok w node.tpl.php. W pliku node.tpl.php wewnątrz odpowiedniego wrapper div zapisu.
Jeśli wszystko jest w porządku, będziesz miał widok wewnątrz węzła.
Może Ci się spodobać
Technopark biurowy (siedziba)
SBC 2205, II piętro,
Yamuna budynku, Phase III Kampus,
Thiruvananthapuram, Kerala - 695581
Mobile: +91 8157-99-5558
Biuro Kochi
XI / 86 L Chalakkara Road Padamugal, Kakkanad P. O.
Kochi, Kerala - 682030 „>
Australia
21 Belleville Close, Burnside Heights,
Melbourne, VIC 3023
Telefon: +61 450 405 000 „>
Stany Zjednoczone
6719 Cedar Ln, Suitę 2
Westmont, IL 60559.
Telefon: + 1-469-235-0194
Telefon: + 1-630-544-0353 „>
Technopark biurowy (siedziba)
SBC 2205, II piętro,
Yamuna budynku, Phase III Kampus,
Thiruvananthapuram, Kerala - 695581
Sprzedaży detalicznej: + 91-471-406-3818
Mobile: + 91-811-390-0079
Biuro Kochi
XI / 86 L Chalakkara Road
Padamugal, Kakkanad P. O. Kochi, Kerala - 682030