Eltűnik a cikk vége

bercesa képe

Ü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

aruna képe

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.

2
0
bercesa képe

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!

0
0
aruna képe

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

function hook_node_view($node, $view_mode, $langcode) {
  dpm($node); // Itt pl. kiírathatod a $node objektum tartalmát
  $node->content['my_additional_field'] = array(
    '#markup' => $additional_field,
    '#weight' => 10,
    '#theme' => 'mymodule_my_additional_field',
  );
}

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.

0
0