poniedziałek, 16 lutego 2015

Untitled 2: HTMLady widzi taksówkę

Otworzyłam drzwi. Nadzwyczaj zamaszyście, jakbym chciała przestraszyć wroga, ale jednak otworzyłam.
Wróg się uśmiechał. Tak jak myślałam, nic specjalnego - nagłówek, argumenty i tak dalej - więc szybko rzuciłam wzrok ku temu, co mnie nurtowało nieznośnie od samego początku, czyli na stopkę goszczonego programu. Wszystko jasne - miał plugin symulujący próg. Skubaniec.
- Masz plugin symulujący próg - narzuciłam się grzecznie.
- Inaczej bym nie mógł do ciebie zapukać - odpowiedział z wyrzutem.
- I tak nie zapukałeś - przypomniałam. - Zrobiłeś pum pum.
- Cóż, żaden plugin nie jest doskonały - westchnął. - Więc...
- Idę! - I, nie mogąc się doczekać momentu, gdy ujrzę, w jakiż to sposób tajemniczy gość schodzi ze spluginowanego progu bez pomocy żadnej innej gadżetologii schodopodobnej, podkreśliłam. - IDĘ, natychmiast!
Jakieś spotkało mnie rozczarowanie, kiedy wspomniany gość...
- Zaraz: jak tu się w ogóle nazywasz?
- Lucid - Uśmiechnął się i ukłonił, nagłym zachwianiem prawie zwalając się z progu. - Lucid Wordpress theme.
No więc: kiedy wspomniany Lucid, zamiast z pełnym zaangażowaniem przemierzyć dzielące go od powierzchni trzydzieści metrów po gałęziach mojego drzewa DOMowego (albo przynajmniej efektownie zlecieć na dół lotem koszącoprzyspieszonym), po prostu gwizdnął i... wezwał taksówkę. Teraz to dopiero byłam zdziwiona. Nie pomyślałam o tym. Może nie stać mnie na taksówkę, ale powinnam jednak pomyśleć o drabinie? Nie żebym za każdym razem schodziła pieszo po drzewie XML, ale... no właśnie schodziłam.
No nieważne.
- No to w czym problem? - zagadnęłam, udając, że epicka jazda stylową taksówką (marki style.css) pośród gaussowych chmur krainy graficznej Corela z porywającą prędkością nie jest dla mnie niczym niezwykłym.
- Chodzi o menu - zaczął program z powagą.
- Mam je sprzątnąć? - uniosłam brew. Widocznie, niezależnie od samej siebie, zawsze chciałam się poczuć jak Terminator.
- Nie, ogarnąć.
Aha. Cokolwiek to znaczy.
- Ale to jeśli będzie pani miała wolną chwilę i jakiegoś mopa, więc niekoniecznie - kontynuował Lucid z niezmiennym wyrazem twarzy. - Chodzi nam przede wszystkim o to, żeby sprawiła pani, żeby oba menu, ponieważ są dwa bliźniacze, zachowywały się inaczej.
- Inaczej? A teraz to co?
- Teraz, jak można byłoby się domyślić, nie zachowują się inaczej.
- Jestem niedomyślna. - Uniosłam dumnie głowę. - To jak mają się zachowywać?

Sprawa niby faktycznie nie była skomplikowana - jedno menu miało pokazywać listę stron strony, a drugie listę tagów taga strony. Logiczne? No właśnie, logiczne - rzeczy logiczne były w świecie programów komputerowych (do których JavaScript zaliczał jak najbardziej) były skrajnie najbardziej trudne do wyegzekwowania. Różnica między użytkownikami i programistami jest taka, że ci pierwsi nie rozumieją idei działania abstrakcji obiektów wirtualnych. Ci drudzy też nie.
W każdym razie: należało dociec, czemu funkcje pomimo różnorakich zmian wprowadzanych w opisującej je graficznej części ustawień, nadal z uporem wariata pokazują to samo. Ciekawe...
Lucid wysadził mnie pod drzwiami samego index.php. Nim zdążyłam skończyć się cieszyć, że tubylcy mają inne poczucie humoru niż ja i nie montują na wysokości trzydziestu metrów drzwi bez progu do stawania nań, powitała mnie funkcja główna.
- Czy mogę się widzieć ze funkcjami i zmiennymi odpowiedzialnymi za menu tego tematu?
No i zaczęło się - ganianie po wielopiętrowym, multifolderowym, licznoskrzydłowym przybytku biurokratycznym. Szczególnie kluczowy jest ten ostatni przymiotnik - coś o tak wielu skrzydłach zdecydowanie polecieć nie może. Najwyżej może w powietrze wylecieć. No bo: przepytuję właściwości CSSowe - odsyłają mnie gdzieś do plików obrazków tła. Idę do folderu z obrazkami tła, oni, że to trzeba do funkcji main-header'a. Nogi mnie już bolały, ale nie - te funkcje odpowiadały za robienie epickiej i epicko nikomu niepotrzebnej animacji po zawieszeniu myszki na menu, więc tylko zmieniłam czcionkę na Comic Sans MS, żeby menu wyglądało poważniej. Tak, wiem, że to było idiotyczne.
Wreszcie grupka sympatycznych DIV'ów kazała mi wypytać o ID top-menu oraz secondary-menu. No tak, miałam sama na to wpaść ze trzy godziny temu, ale mi wyleciało. W każdym razie podpowiedź pomogła i znalazłam oba wypełniające je kody PHP. Oba w jednym pliku. I oba...
- Przepraszam... - Wskoczyłam w jedne drzwi, a potem natychmiast wyskoczyłam i wróciłam do tych, przez które gapiłam się wielkimi oczami 20ms temu. I znowu. - Eee... Czy ktoś może mi uprzejmie wytłumaczyć, jaki debil to tak zaprojektował?
Obie funkcje były w jednym pliku i oba identyczne. Nie można było jednej funkcji dwukrotnie wywołać?!
- Nie boicie się, że sir Copy Paste pozwie was o prawa autorskie? - Pokazałam niemrawo palcem na perfekcyjnie zdublowaną kombinację znaków, kiedy wywołany do odpowiedzi plik Help skończył recytować listę co najmniej piętnastu debili.
- No dobra... Mogę to troszkę zmienić? - Zaraz po przekroczeniu progu spytałam wskazując na kod jakiegoś if'a. W sensie: spytałam if'a. Wskazując na należący do niego kod.
Kod zdawał się związany dość mocno, przynajmniej emocjonalnie, z tym, za czym właśnie ganiałam, więc pomyślałam, że jeśli zmienię w nim parę fajnych rzeczy, to... coś się stanie. Więc... jeśli adres == strona domowa, to wtedy wyświetlaj wszystko oprócz strony domowej, a jeśli...
No tak, teraz zdawało się być jasne, że kod nie przypisuje do bliźniaczych menu (które bliźniacze są bardziej niż się tego spodziewaliśmy) nic oprócz listy stron. Z zadowoleniem i pełną subtelnością podmieniłam wywołanie w drugim menu na listę tagów i... nic się nie stało.
Aaa...
No to podmieniłam w pierwszym. A potem wbiłam tam listę kategorii. A potem w drugim wbiłam listę kategorii, a w pierwszym listę warzyw z rodziny szarłatowatych. Aż wreszcie, po ponownym przejrzeniu wszechrzeczy i kolejnym upewnieniu się w silnym przeczuciu, że już zrozumiałam wszystko dogłębnie, wykomentowałam przypisywane wartości jak leci. I... cały czas nic.
Wreszcie ktoś z tu obecnych nieśmiało zwrócił moją uwagę na dwa, ukrywające się pod zwojami pozostałych linijek, wywołania funkcji
show_page_menu i show_categories_menu.
Wybałuszyłam się, po czym, wysłuchawszy kolejny raz listy twórców w odpowiedzi na moje konwulsyjnie powtarzane pytanie o autorstwo tego badziewia, zadałam parę bardziej konstruktywnych pytań, celem odkrycia konieczności poprzedzenia ich... czymś, co wygląda jak użyteczne, a nie jest.
Odpowiedź była równie inspirująca, co poprzednia:
- No bo szef dał, to wzięliśmy.
Westchnęłam tak ciężko, jak tylko umiałam. Niestety, w zawodzie programisty jest tak, że wzdychanie nie wystarczy, więc przedsięwzięłam robienie czegoś więcej:
- Mogę dostać jakiś adres tych funkcji?
Dostałam. W przeciwieństwie do łopaty, tymczasem wyglądało na to, że mi się przyda...

c.d.n.

Brak komentarzy:

Prześlij komentarz