Üdv mindenkinek!
Jó ideje dolgozom már egy portálon, amin már több ezer cikk van, de most egy olyan hibával találtam magamat szembe, amibe még sosem futottam bele:
egy nagyon hosszú cikk (wordben kb. 10 oldal lehetett) végét egyszerűen nem jeleníti meg a rendszer. Megnéztem, nem-e valami CSS gond, valami rosszul beállított height érték, valami rácsúszik stb., de mikor ellenőriztem az oldal forrását láttam, hogy egyszerűen a HTML kódban sincs benne a cikknek legalább a fele. Ja, és a legfurább, hogy az adatbázisban, ill. node szerkesztésekor pedig rendesen megjelenik az egész cikk. Esetleg találkozott már valaki ilyesmivel? Van esetleg valami korlát Drupal 7-ben?
Köszönettel,
Ádám
Fórum:
Szerintem
nincs ilyen szűk korlát. Ha jól tudom longtext a típus (mysql-nél), amiben a body mező tartalma kerül a db-ben.
Próbáld esetleg debug-olni a tartalmat, pl. ha engedélyezve van a devel modul, akkor a dpm() vagy dsm() függvényekkel kiirathatod a node objektum tartalmát, így talán közelebb jutsz, hogy az oldalgenerálás melyik fázisában "tűnik el" a tartalomból a szöveg egy része.
Köszönöm szépen, feltettem a
Köszönöm szépen, feltettem a modult, esetleg be tudnál vezetni pár szóban a használatára, mert sajnos fogalmam sincs, hogy hogy működik.
Hol kell használni ezt a dpm() függvényt, node.template.php-ba kell betenni, vagy hová?
Köszönöm előre is!
A drupal
amikor megjeleníti az oldalt, rengeteg dolgot lefuttat, egy adott sorrendben. Így egy csomó helyen be lehet avatkozni, pl. kiíratni egy objektum tartalmát hibakeresés céljából.
A tartalom a $node objektumban épül fel az oldalgenerálás folyamata alatt, és minden olyan drupal függvényben (ezek a "hook"-ok pl.), ami ezt az objektumot megkapja, abban a függvényben kiírathatod az objektum aktuális tartalmát, amibe a tartalom törzse (body) is benne van.
Ezek hook-ok: http://api.drupal.org/api/drupal/includes!module.inc/group/hooks/7
Ezek közül pl. ez a függvény érdekes, ez közvetlenül a node megjelenítése előtt fut le:
http://api.drupal.org/api/drupal/modules%21node%21node.api.php/function/...
Ahogy írja a dokumentáció, itt van a kód: modules/node/node.api.php, line 831
Tehát minden olyan hook-ban, ami megkapja a $node objektumot paraméterként, ott ki is tudod írni és megtekinteni a tartalmát.
Ha beleírsz az alaprendszer moduljaiba (kizárólag hibakeresés céljából), ne felejtsd el kitörölni, amit beírtál.