Keresés

Új hozzászólás Aktív témák

  • Siriusb

    veterán

    válasz SecMan #268 üzenetére

    A field.tpl.php-t elmented egy megfelelő névre a sminked könyvtárába, és szerintem ezt kell átalakítani:
    <?php print render($item); ?>
    Ha jól emlékszem, az l() függvénnyel tudsz linkeket létrehozni.

  • Sk8erPeter

    nagyúr

    válasz SecMan #268 üzenetére

    "Views-ban tudom, hogy egyszerű megcsinálni, de az nem para ha így rengeteg nodenál "közbelép" a views?"
    Nem, szerintem itt félreértelmezed a Views szerepét, amikor tetszőleges fieldek tetszőleges sorrendben történő megjelenítéséről van szó. A Views nem "közbelép", hanem ő maga intézi el a tartalmak adatbázisból való lekérését, és az általad beállítottaknak megfelelő megjelenítését. A query-t a beállítások alapján rakja össze, és minden egyebet is a háttérben elintéz. Ő szolgáltatja az adatokat a template-eknek is (ezért van a Views-nál mindenfélére külön template-fájl).
    A Views nagy előnye az, hogy rendkívül kényelmes felületen állíthatsz össze viszonylag komplex query-ket, és ezek megjelenítését is grafikus felületen tudod beállítani.
    Mondjuk feltételezem, a sima node-lekérésnél (teaser vagy full mode), amikor nem tetszőlegesen állítod be a fieldeket, a Drupal beépített függvényeit használja fel.
    De attól még nem lassú.

    A field template-ek használata nem biztos, hogy javasolt, ha sok field van, mert lassulást eredményezhet:
    theme_field()
    "However, it takes longer for the server to process templates than to call a function, so for websites with many fields displayed on a page, this can result in a noticeable slowdown of the website. For these websites, developers are discouraged from placing a field.tpl.php file into the theme's folder, but may customize templates for specific fields."

    A megfelelő függvényeket viszont felhasználhatod.
    A saját theme-ed template.php-jébe pakold a theme_field() megvalósítását.
    Most egy szemetelős Drupalnál létrehoztam az általad említett fieldeket:
    [link]

    A nyíllal jelölt rész az érdekes, hogy mennyi előfeldolgozó függvény van, CSAK és kizárólag az adott fieldre! Ezt használd, ne általánosan írd felül!
    Pl. nálam "field_text_list_with_radio_butto" lett a machine name-je a fieldnek, így ilyen előfeldolgozó függvényem van:
    zenTest_field__field_text_list_with_radio_butto()

    Igen, az "n" betű lemaradt, de ezzel nem foglalkoztam, ez lett a machine name. :D

    A másik: az a baj a List (text) típusúval, hogy az ebben való keresgélés szerintem adatbázisoldalon viszonylag lassú. Ezért jobb lenne int típusú.

    Sk8erPeter

Új hozzászólás Aktív témák