HTML szöveg beküldéste

gyuxton képe

Sziasztok! Az lenne a kérdésem, hogy egy megadott szöveget, hogy tudok beküldeni a tartalomtípusra mikor betöltöm (load).
Tehát összeállítok egy HTML szöveget (Pl: <p>Váors: Budapest, Kerület: XI.</p>)
valamiform_nodeapi függvény ’load’ ága fut le, és az kellene, hogy betegye. Köszönöm szépen!

aboros képe

a node.tpl.php felel egy node megjelenítéséért.
ebbe beleírhatod a htmledet.
vagy előfeldolgozóban is hozzáadhatod a tartalomhoz. a node.tpl.php előfeldolgozója a template_preprocess_node.

0
0

-
clear: both;

gyuxton képe

Köszönöm szépen!
Erre tudbál írni egy "Hello világ!" típusu példát?

  function garland_preprocess_node(....) {
  $uu='<p>Hello világ....</p>';
......
}

A node.tpl.php-be kell írni sort, amit majd futásból töltöm fel?(Tehát egy sort amiben változó van és futásból adom meg az értékét). Vagy futásból símán be lehet szúrni a sort?
Köszönöm szépen!
0
0
aboros képe

nem kamuságokat, úgymint htmlt szúrni a nodeba, hanem a pontos elvárt célt lenne jó tudni.

az előfeldolgozóban állítódnak össze a tpl.php számára a változók, azokból az adatokból, amiket a hook_nodeapi view ága rakott össze. ezeket a változókat kedvedre módosíthatod és újakat is bevezethetsz, de az újak kiíratásáról neked kell gondoskodni a kapcsolódó template fileban.

például szeretnék egy új változót, a neve legyen mondjuk response. (sminkem neve playground)

template.php

function playground_preprocess_node($vars) {
  $vars['response'] = 'yahoo, it works!';
}

node.tpl.php valahol, ahol neked ok:

<?php if ($response) : ?>
  <div id="response">
    <?php print $response; ?>
  </div>
<?php endif; ?>

vagy ha mondjuk a $content értékéhez akarsz fűzni valami dolgot, akkor megint template.php:

function playground_preprocess_node($vars) {
  $vars['content'] .= '<br />yahoo, it works!';
}

hát így.

ha pontosan megmondod mit akarsz elérni, akkor pontosan meg tudom mondani, hogyan csináljad azt. perpillanat leginkább egy "vajon kitalálja e aboros, mit akarok csinálni" kvízműsorra hasonlít ez a szál, nem valami produktív így a segítségnyújtás, vaktába lövöldözök csak.

0
0

-
clear: both;

pp képe

Vagy nem veszed a fáradságot, hogy értelmesen megfogalmazd a problémád, vagy nagy kavar van a fejedben!

Adva a node objektum, melyhez a hook_nodeapi függvény load ágában tudsz hozzáadni adatokat. Ezeknek az adatoknak a megjelenítéséről pedig ugyan ezen függvény view ágában tudsz gondoskodni. Ezt már egyszer egyébként elmondtam és felhívtam erre a figyelmedet. Nem értem miért nem érted. Valamit rosszul mondok, írok?
Ezt a függvényt egyébként a Drupal hívogatja amikor szükséges, akár többször is. Tegyél a függvény elejére egy drupal_set_message($op) függvényhívást, hogy lásd mi történik.

pp
(ha lehet a hook függvények nevét normálisan írd le, tehát nem valamiform_nodeapi, hanem hook_nodeapi)

0
0
gyuxton képe

Kedves István!

Köszönöm szépen a válaszod! Tényleg nagy kavalkád van a fejembe most!
Szóval a problémám:
Ajax-os modult fejlesztettem a Te modulod felhasználásával. Tehát összerendeltem a várost, kerületet, utcát. Ez működik is.(hook__form_alter). Szépen megjelenik a saját tartalom típuson is, mikor beviszek új értéket, akkor be is írja a saját táblába az adatokat. Azt akarom elérni, mikor megnézem (load, view), akkor betöltse és lehessen látni azt, amit beírt a táblába. A hook_nodeapi függvény ’load’ (vagy a view ) ága létrehozza azt a HTML szöveget, amit majd beszúr a tartalom típus megtekintése során. Erre jónak néz ki aboros írása (majd most fogom kipróbálni).
Ha ez meglesz, akkor meg saját view-t akarok létrehozni a saját tábla felhasználásával, ahol össze vannak rendelva a node-ok valamint az általam beírt adatok (Város, kerület, utca). Ez lenne a következő lépés (amitől már előre félek mint kezdő).
Elnézést kérek a sok kérdésért és ha értetlen vagyok!

0
0
pp képe

Van a node objektum. Ezt be lehet tölteni, load és meg lehet jeleníteni, view. A két op-ot ne keverd össze! A load betülti az adatokat és beleteszi a node objektumba. A view pedig a node-ba load-nál betett adatokat formázza és teszi bele a node->content változóba. A html az még a view-nál se jön elő, hanem a view valamilyen smink szerint fogja megformázni a node azon részét, amit betöltesz. Hisz lehet, hogy egyszerűen csak kiírja az adatokat, de lehet, hogy a megyét, a várost és a kerületet már máshogyan akarja formázni az ember. Az is lehet, hogy ezeket egy térképen jeleníted meg, stb. Ez már mind-mind a smink feladata.

Szóval lassan a testel! ;)
A views modul által létrehozott view-kat meg ne keverd ide, mert annak ehhez semmi, de semmi köze!

pp

0
0
aboros képe

igazából ki is próbálhatnám, de lusta vagyok kipróbálni. (ilyen is ritkán van;)

szóval a load ág már bepakolja a $node -ba a dolgokat, tehát akkor ez azt jelenti, hogyha mondjuk a $content -en én nem akarok változtatni, akkor a view ágat akár el is hagyhatom, mert a load már bepakolta a dolgokat és el is fogom érni akkor azokat a template_preprocess_node -ban?

0
0

-
clear: both;

pp képe

pontosan.

pp

0
0
aboros képe

nem látom akkor igazán értelmét a view ágnak. lehet valamire nem gondolok amire kéne, de ha jól értem akkor a view ág tulajdonképpen teljesen kiváltható lenne az előfeldolgozóval.

0
0

-
clear: both;

pp képe

A load betölti a memóriába az adatbázisból az adatokat. A view ág előkészíti a megjelenítéshez. az előfeldolgozó a nem megfelelően megkapott adatokat módosítja. tehát ha megfelelő módon készítette elő a view az adatot akkor az előfeldolgozónak semmi dolga nincsen. Azonban ha az adatok nem megfelelő formában érkeznek akkor ezt módosítani tudod. Azért kell két helyen erre lehetőséget adni, mert az egyik helyen a programozó dolgozik a másikon a grafikus. Back end/front end. Próbáld meg elképzelni, hogy egy projekten többen dolgoznak. Akkor ezekre a lehetőségekre szükséged van. Ha ez nem lenne, akkor kén egy azaz egy darab php ami lerántja az adatbázisból az adatokat és máris tolja ki formázottan. Ekkor a feladatokat nem lehet szétosztani mivel egy fájlban van minden amin nem szerencsés, ha többen dolgoznak. A szétosztás program futása szempontjából nem optimális, de a kód fejlesztése szempontjából igen. Kérdés, hogy érdemes-e egy két év alatt tökéletesre csiszolni egy olyan alkalmazást amire már nincs szükség akkor amikorra elkészül, vagy valamilyen rapid fejlesztőeszközt választunk ami jobban fogyasztja az erőforrásainkat.

pp

0
0
gyuxton képe

Ajaj!
Eddig féltem, de most már meg is ijedtem!
Első lépés az, hogy amikor (load) betölti az adatokat (saját típus + megye, város adatok), akkor csak lássam az adatokat. Ezt úgy oldom meg, hogy a sminkne beleteszem azokat a részeket, amit aboros kolléga írt (Nagyon szépen köszönöm Neki, sokat segített.. de még nem volt időm kipróbálni).
Tudom, hogy a view modul az más! Hát az lesz a legnehezebb szerintem. Erre az ötletem a következő lenne:
Szintén létrehozok select boxokat és javascriptet mint a feltöltésnél, csak itt már a saját táblámból veszi ki az értékeket. Ezt valahogy hozzá adnám a view modullal létrehozott view-hoz. Itt gondolom filter fejlesztés lenne. De valahogy úgy érzem, ez lesz a legnehezebb…

0
0
pp képe

Devel modul feltesz két plusz fület a node-hoz. Egy dev load és egy dev view aminél megvizsgálhatod, hogy a node változónak mik a tartalmai.

Pasquallenak van egy nagyon jó kis videója a views kiegészítéséről.

pp

0
0