Autómatikus tartalom "Cím" kiegészítés

gyuri2012 képe

Meg lehet azt oldani, hogyha beküldenek valamilyen tartalmat, aminek a címébe beírják mondjuk hogy "1234', akkor a Cimbe a rendszer autómatikusan beleírjon valamit, mielött mentené az adatbázisba?

Például van egy taxonomy cck-s mezeje is, és azt akarom megcsinálni, hogy míg ő csak "1234"-et ír be, addig a rendszer a taxonomy kategóriája alapján kiegészítse a Címet. (mondjuk eléírja a kiválasztott taxonomy kifejezés "leírásában" található dolgot.

Fórum: 
gyuri2012 képe

azaz ha a tartalom beküldésekor kiválasztott taxonomy kifejezésnek a leírásában az szerepel hogy "AB ", akkor a fenti példa tartalom címe "AB 1234" legyen az adatbázisban.

0
0
gyuri2012 képe

Valami olyasmire gondoltam, mint az Automatic Nodetitles

Ha egy taxonomy szótárban a kifejezések így épülnek fel:

Szotaram:
Elso
-hu
-ha
-hi
--hihi1
--hihi2
--hihi3
-ho
Masodik
-oops
--1

stb...
hogy lehet egy node-nál azt a kifejezest elérni, ami alá tartozik a node-om, de a szülő kifejezése a gyökér?
Tehát a "ha"-nál az "Elso"-t, "hihi3"-nál is az "Elso"-t, "oops"-nál és "--1"-nél a "Masodikat", "Elso"-nel az "Elso"-t.
Azt szeretném megoldani, hogy ha a node [term-id]-je valami akkor annak a kifejezésnek a [term]-jét adja vissza a kód, ami alá így tartozik.
Éppen azon vagyok, hogy megnézzem hogy épül fel a $taxonomy, de azért elkelne a segítség! :)

0
0
Paal képe

Az Automatic Nodetitles tud php kódot is kezelni, én használom is. Most mobilról nyomom, így nem tudom megnézni, de szerintem így gyakolatilag bármit bele tudsz íratni.

Üdv, Pali

0
0

--
Palócz Paal Pál, a drupal.hu admin csoportjának tagja
Ajánlott olvasmány: Eric Steven Raymond - Hogyan kérdezzünk okosan

gyuri2012 képe

Sziasztok! ( rég nem jártam erre! :/ )

  <h2><a href="<?php print $node_url ?>" title="<?php foreach ($node->taxonomy AS $term); $utolso = end(taxonomy_get_parents_all($term->tid)); print( $utolso->description) . (" "); ?><?php print $node->kutykurutty ?>"></a></h2>

node-valami.tpl.php -ban így irattam ki eddig ami kell nekem, de most már menteni is szeretném mindezt a title-ben.
Azaz Automatic Nodetitles-el csinálnám, csak nem sikerül megírnom hozzá a kódot, hogy ugyanezt az $utolso->description "kiírassa".
Hogyan lehetne ott ezt elérni? (minden mentéskor újra generálja a title-t)
5-ös sorozat. Nektek biztos egyértelmű hogy ha simán ezt a php kódot írnom az automatic nodetitles-be, akkor miért nem jó..., nekem nem az :(
0
0
nevergone képe

Légyszives, a kérdésednek indíts új témát!

0
0
Illyés Edit képe

Miért fontos az, hogy az adatbázisban is így legyen? Ha csak nincs valami különös oka, akkor ez megjelenítési kérdés. Sminkben a $title elé kiíratod a CCK-s mező értékét.

0
0
gyuri2012 képe

Kosárba pakolható tartalom típusokról van szó..., és fontos lenne hogy mindenhol (megrendelőnek küldött emailban, forgalmazónak küldött emailban, de önmagában az e-comm különböző oldalain is azzal együtt jelenjen meg. (asszem)

Valahogy majd autómatizálom akkor adatbázisba..., ha rájöttem hogy amúgy hogy lehet elérni a legfelső kifejezés nevét.
(illetve a legfelső kifejezésnek a leírását..., mert az kellene az eredeti title elé)

0
0
pp képe

Én semmi esetre se raknám adatbázisba. Hisz ilyenkor minden esetben meg kell nézned, hogy benne van-e már a címben az adott taxonomy, hogy ne tedd bele többször. Mi van akkor, ha változtatják és éppen ezt módosítják, akkor a régi kategóriát kell kiszedned...

Én a címben javasolt módon a node betöltése után változtatnám meg a címét.

pp

0
0
gyuri2012 képe

Nemigazán gondoltam ilyenekre. :(

Úgy talán megoldható hogy az auto nodetitles (ez kezeli a php kódot) egy cck-s mezőből ("title2" nevü) + a legfelső taxonomy kifejezésből csinálja minden mentéskor a title-t.
Így ha átrakják másik kifejezésbe a node-ot és elmentik is jó.
Viszont akkor ez sem jó, ha megváltoztatják a legfelső kifejezés leírását... újra el kellene mentegetni az összes node-ot. :(

Lehet elfeledkeztem valamiről, de ezt az egy esetet leszámítva (kifejezés leírásának módosítása) most jónak tűnik nekem.
De ez még akkor is csúnya, ha tiltott a már meglévő kifejezés leírásának módosítása.

Úgyhogy a megoldásod lényegesen szebb és rugalmasabb..., viszont valószínüleg reménytelen egyelőre, hogy ezt megcsináljam (hook_nodeapi), de azért elkezdek olvasgatni a dologról.
Még arról sincs ötletem, hogy hogyan keressem meg a legfelső kifejezést (ill. annak a leírását), a válaszok ellenére. :(

0
0
gyuri2012 képe

Tudsz olyan kész modult, ami valami ilyesmit csinál, (lehetőleg egyszerű és rövid)..., ha nem is pont ezt? Aminek elkezdhetném bogarászni a forrását...

0
0
eMeLA képe

Készítesz egy saját modult.
Az sajatmodul_alter() részben vizsgálod hogy a $form_id-t, és ha éppen a neked megfelelő form jön pl ilyen book_node_form, akkor a $form['#submit'] részt kiegészíted egy saját függvénynévvel, fontos hogy az első legyen mert az fut le legelőbb. Én így szoktam, de én amatőr vagyok (majd a profik megmondják hogy kell szépen, legalább én is tanulok valamit :)

$at = $form['#submit'];
unset ($form['#submit']);
$form['#submit']['ezfussonlegelobb'] = array();
$form['#submit'] = array_merge($form['#submit'], $at);

Ezekután, ha a csóka beküldést bök, a ezfussonlegelobb($form_id, $form_values) függvény fog legelőször lefutni. Itt azt csinálsz amit akarsz a $form_value tömbbel. Visszatérési érték nem kell.
0
0

...mit tudok: http://web.termuves.hu

gyuri2012 képe

Köszönöm! Túl nagy falat ez nekem (remélhetőleg egyelőre csak), de olvasgatok hogy megértsem, hogyan is gondoltad!

0
0
gyuri2012 képe

Hosszútávon végülis pp által írt módszer mellett döntöttem..., hook_nodeapi load része (ezt nem tudom még megcsinálni, ill. nekiállnom is reménytelen még), rövidtávon viszont sminkelem, és a node-valami.tpl.php -ban kiíratnám a title elé!
Úgyhogy abban kérném a segítségeteket hogy magyarázzátok el, hogy tudom megtalálni a szükséges legfelső kifejezés leírását! Nem sikerült megértenem a célzást a dologra! :)

0
0