Hirdetés

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

  • Sk8erPeter

    nagyúr

    válasz Siriusb #442 üzenetére

    Kezdjük azzal, hogy így a minta is helytelen, és nem is fog működni a dolog. :DDD Így lenne jó:
    $pattern = '/[0-9]/';
    Aztán ez nem is helyes reguláris kifejezés, mivel ez illeszkedik arra a query stringre is, hogy ?ta=123abc.
    Szerintem ide nem feltétlenül indokolt a reguláris kifejezés használata, egyszerűbb egy is_numeric() függvényhívás. Ezenkívül nagyon ocsmány megoldás exit()-tel az egész script futását leállítani Drupalban egy általad tetszőlegesen kiszemelt helyen... :D exit()-et vagy die()-t (a kettő ekvivalens) csak NAGYON indokolt esetben használj. A template.php-kbe helyezett exittel vagy die-jal azt éred el, hogy a Drupalnak "megtörik" a megjelenése valahol "félúton", vagy még meg sem jelenik semmi, csak azt az üzenetet írja ki, amit megadtál paraméterként a die()-ban. De a hiba kijelzésére drupal_set_message() való:
    drupal_set_message(t('An error occurred and processing did not complete.'), 'error');
    a form használhatatlanná tétele pedig valami form_alterben elintézendő, de leginkább egy #after_build callbackben, ha erre szükség van, például $form tömb módosításával, aztán az elküldést meg lehet akadályozni validáló függvényben form_set_error()-ral.
    A node_load() hívása helyett kevésbé erőforrás-igényes a közvetlen adatbázisból való címlekérés, mondjuk ez abban az esetben nem lesz jó, ha Title modult használsz, mert akkor a Title is egy "rendes" field.

    Te kérted, hogy vesézzem ki. :DDD

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