Wcześniej sprawdziłem ten problem. Oto problem, który chcesz przeczytać . Na początku wydaje się to szalone, ale istnieją naprawdę dobre powody, aby tak wyglądać.
Konkluzja: pomyśl o elastycznych układach paneli jako narzędziu do prototypowania . Skorzystaj z niego, aby wypróbować i opracować pomysły na potrzeby programowania, tworzenia scenariuszy, testowania użytkowników itp., A następnie, gdy uzyskasz doskonały podpis, zaimplementuj go do produkcji za pomocą czystego, wyraźnego, zoptymalizowanego ręcznie HTML jako niestandardowego układu paneli (więcej na poniższych).
Oto krótkie podsumowanie tego, dlaczego tak jest, w oparciu o problem, który powiązałem z:
- Wyjście HTML panelu wymaga wszystkich tych szalonych znaczników, aby móc dostosować się do najbardziej szalonych, elastycznych układów, jakie każdy może chcieć stworzyć - pomyśl o mnóstwie zagnieżdżonych płynów i ustalonych regionów obok siebie.
- Nic automatycznie generowanego nie będzie wystarczające dla purystów HTML, więc faceci Panels nie próbowali zapewnić im zadowolenia w ramach funkcji elastycznych układów . Nie ma więc algorytmu optymalizatora HTML, który próbowałby zredukować HTML generowany przez twój układ do absolutnego minimum, ponieważ bez względu na to, jak dobry był, nadal nie byłby HTML o najlepszym standardzie.
- Coś, o czym nie wspominają: gdyby istniał taki optymalizator, pewne zmiany w układzie spowodowałyby zniknięcie zbędnych teraz div i klas. Jeśli zawiesiłeś CSS na nich, będziesz musiał ponownie napisać CSS najczęściej, kiedy wprowadzasz niewielką zmianę w elastycznym układzie Paneli. Oznacza to, że gdyby próbowali (i nie udało się) przekształcić paneli w elastyczne układy w narzędzie produkcyjne o najwyższych standardach, osłabiliby je również jako narzędzie do prototypowania.
- Możesz uzyskać czysty, szczupły panel HTML . Oczekiwany przepływ pracy, czytanie między wierszami, jest taki:
- Korzystasz z elastycznych układów paneli na wczesnym etapie rozwoju, próbując pomysłów.
- Jeśli zdecydujesz się na konkretny układ, jeśli chcesz mieć czysty HTML, zaimplementuj go przy użyciu niestandardowego układu, używając tylko dokładnej ilości znaczników HTML, których potrzebuje układ, z odpowiednimi klasami, semantyką itp. Dla Twojej witryny (instrukcje poniżej) ).
Choć na początku mi się to nie podobało, myślę, że ma to sens. Zamiast próbować robić niemożliwe i stworzyć jedno narzędzie, które idealnie nadaje się zarówno do prototypowania, jak i do zapewnienia najwyższych standardów w kontekście produkcyjnym - które mają bardzo różne potrzeby i mogą doprowadzić tylko do kompromisu, który nie byłby odpowiedni dla żadnego z nich - Nie ma już jednego narzędzia, które idealnie nadaje się do prototypowania, oraz innego oddzielnego narzędzia (niestandardowe układy), które idealnie nadaje się do szczupłej produkcji.
Oznacza to, że możesz uzyskać to, co najlepsze, kosztem nieco więcej pracy, tworząc ostateczny układ jako szablon oparty na HTML o najlepszych standardach - ale purysta HTML i tak będzie musiał wykonać trochę dodatkowej pracy, aby uzyskać ich wydajność idealna.
Jak tworzyć niestandardowe układy paneli? W dokumentacji znajduje się szczegółowy przewodnik, jak to zrobić . Oto krótkie podstawowe podsumowanie:
- Skopiuj istniejący układ z,
/sites/all/modules/panels/plugins/layouts
aby zostać/sites/all/themes/[your_theme_name]/layouts/[new_unique_layout_machine_name]
- Zmień nazwy plików w nowej kopii, aby pasowały do nazwy nowego folderu. Pamiętaj, że
.tpl.php
plik powinien zawierać łączniki zamiast podkreślników.
- Dodaj wiersz do pliku informacyjnego motywu:
plugins[panels][layouts] = layouts
informuje panele, że masz niestandardowe układy w tym motywie i gdzie się znajdują (zamień ciąg, layouts
jeśli nie jest to ścieżka od motywu do folderu niestandardowych układów)
Edytuj pliki za pomocą swojego doskonałego, eleganckiego, minimalnego, semantycznego, najlepszego standardu HTML i CSS.
- Nie zapomnij również zaktualizować
.inc
pliku o informacje o układzie, takie jak nazwa, kategorie, nazwy plików itp.
theme
w pliku .inc powinien pasować do .tpl.php
nazwy pliku, bez rozszerzenia. Wszelkie podkreślenia wprowadzone w theme
wartości zostaną zamienione na łączniki.
- Weź również pod uwagę edycję
.png
ikony, aby lepiej odzwierciedlić swój rzeczywisty układ.
- Wyczyść pamięć podręczną. Nowy układ pojawia się jako opcja w panelach z nazwą, kategorią itp. Określoną w
.inc
pliku. Użyj tego.
Możesz również rozważyć moduł Clean Markup Drupal 7 do sterowania wyjściem znaczników dla paneli.
Przeszukałem tę stronę w przeglądarce i nie znalazłem już o niej wzmianki, w tym w naprawdę dobrej kompleksowej odpowiedzi udzielonej przez user568458.
źródło