Przełączyłem się na chwilę na MS Windows ... i się zaczęło. Wiśta nie potrafi znaleźć sterowników do modemu Huawei E800. Producent też nie ma (sic!) na stronie. Znalazłem dopiero na stronie www.nerve.org.za. Plik huawei_drivers_3.09.00.00.zip zawiera co prawda sterowniki do innych modeli, ale za to do większości wydań MS Windows (XP, Vista, Vista 64, Windows 7 i Windows 7 64). Najważniejsze, że działają (Vista 32 bity).

Zgłębiam temat rozpoczęty ostatnio. Wyszukuję za pomocą wbudowanej funkcji advancedsearch. Formatkę wyszukiwania, a w zasadzie jej pola, można zrobić tak jak podano w przykładzie (strona nie jest już rozwijana, ale przykład działa). Ma to ten minus, że atrybuty trzeba wstawić po ich ID, a nie nazwie, ale odpowiednio komentując kod można go zrobić przejżystym.

W mojej wersji zrobiłem wyszukiwanie po atrybutach o ID 362 i 363 (każdy się domyśli, że wyszukuję po Miejscowości i powiecie :-) . Wstawiłem w jednym z własnych szablonów (template) taki kod:

<form action={"/content/advancedsearch/"|ezurl} method="get">
    {* 45, czyli Atrakcja *}
    <input type="hidden" name="SearchContentClassID" value="45" />
    {* 363 - Powiat *}
    Powiat: <input type="hidden"
name="Content_search_attribute_fulltext_classattribute_id[]"
value="363" />
    <input type="text"
name="Content_search_attribute_fulltext_value[]"
value="" />
    {* 362 Miejscowość (attraction_attrib_city) *}
    Miasto: <input type="hidden"
name="Content_search_attribute_fulltext_classattribute_id[]"
value="362" />
    <input type="text"
name="Content_search_attribute_fulltext_value[]"
value="" />

    <input type="submit" value="Search" name="SearchButton">
</form>

To nawet działa, trzeba tylko pamiętać o ustawieniu

[SearchSettings]
AllowEmptySearch=enabled

w pliku settings/override/site.ini.append.php, ew. można jeszcze dołożyć w tej samej sekcji

EnableWildcard=true

, ale to wymagane tylko dla zaawansowanych użytkowników.

Teraz wystarczy tylko ustalić jak zrobić własną stronę z własnym szablonem na którym będzie tylko wyszukiwanie. Można oczywiście utworzyć własną klasę, nawet nie musi mieć atrybutów - wystarczy, że będzie miała nazwę, którą będzie można powiązać z szablonem zawierającym wyłącznie formularz wyszukiwania, ale może można to zrobić prościej.

Ładny opis pływających elementów HTML'a (atrybuty CSS: float i clear) znalazłem na stronach maxdesign (tutaj dodatkowo jeszcze opisy zagnieżdżonych list) oraz BarelyFitz Designs.

Zadanie wydawałoby się dość proste - zrobić wyszukiwanie po atrybutach klasy np. Znaleźć te obiekty klasy atrakcja gdzie miasto (attraction_attrib_city) jest równe Gdynia. Przy czym wartości ma sobie użytkownik podawać.

Pierwsze poszukiwania wskazywały na ezFind, ale to rozszerzenie jest dostępne tylko komercyjnie.

Innym tropem jest funkcja fetch, ale jak stworzyć dla niej formatkę do wprowadzania parametrów wyszukiwania na razie nie mam pojęcia.

Po stworzeniu własnej klasy wypadało by ją ładnie wyświetlać. Jako, że moja klasa dziedziczyła po klasie Artykuł naturalne jest, że jako wzór do modyfikacji wybrałem plik article.tpl z katalogu design/base/override/templates/full na podstawie którego utworzyłem plik attraction.tpl w katalogu design/wlasne/override/templates/full.

W tym, nowo utworzonym pliku przed linią wyświetlającą komentarze użytkowników:

<div class="attribute-tipafriend">

wstawiłem dwa pierwsze dodane atrybuty:

{* Adres *}
<div class="attribute-short">
    <p>Adres</p>
</div>
<div class="attribute-long">
    {attribute_view_gui attribute=$node.data_map.attraction_attrib_address}
</div>

{* Kontakt *}
<div class="attribute-short">
    <p>Kontakt</p>
</div>
{if $node.data_map.attraction_attrib_contact.content.is_empty|not}
    <div class="attribute-long">
        {attribute_view_gui attribute=$node.data_map.attraction_attrib_contact}
    </div>
{/if}

dzięki temu na stronie wyświetlają się dodatkowo (poza tym co w standardowym artykule) adres atrakcji i dane kontaktowe.

Stworzyłem sobie nową klasę (jako kopię klasy Article) i nazwałem ją Atrakcja (attraction). Niestety wygląd nie zachwycał - wartości atrybutów były w kolejnych wierszach jeden za drugim, bez żadnych dodatkowych informacji. Trzeba przygotować dla niej nowy szablon.

Zgodnie ze starymi notatkami aby nie mieszać własnych szablonów z tymi domyślnymi dołożyłem nowy katalog w katalogu design i nazwałem go własne po czym podpiąłem go jako źródło szablonów dopisując

[DesignSettings]
SiteDesign=ezwebin
AdditionalSiteDesignList[]
AdditionalSiteDesignList[]=wlasne
AdditionalSiteDesignList[]=base

w pliku settings/siteaccess/pol/site.ini.append.php. Dlatego w pol, bo był ustawiony jako domyślny

[SiteSettings]
DefaultAccess=pol

w pliku settings/override/site.ini.append.php. Teraz utworzyłem plik design/wlasne/override/templates/full/attraction.tpl gdzie będzie się miał znajdować szablon opisujący wygląd obiektów tej klasy.

Teraz wystarczyło przekonać system, żeby korzystał z tego szablonu. Zgodnie z dokumentacją dopisałem

[full_attraction]
Source=node/view/full.tpl
MatchFile=full/attraction.tpl
Subdir=templates
Match[class_identifier]=attraction

do pliku settings/override/override.ini.append.php który wcześniej utworzyłem na wzór innych.

Teraz trzeba by wypełnić plik attraction.tpl, ale o tym w następnym odcinku ...

W trybie VirtualHost przestał mi działać alias'y. Żeby to naprawić trzeba zgodnie z dokumentacją przekazać przetwarzanie dalej (pass through), czyli dopisać np.:

RewriteRule ^/linuxfaq/.* - [PT]

w pliku gdzie definiowaliśmy reguły. U mnie jest to plik /etc/httpd/conf/vhosts.d/00_default_vhosts.conf.

Just my blog...

Mon Tue Wed Thu Fri Sat Sun
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
eZ Publish™ copyright © 1999-2024 eZ Systems AS