Jak vytáhnout informaci z pole CCK do formuláře
Vložil/a Anonymous, 28 Březen, 2010 - 14:57
Kategorie:
Jak na to?
Týká se verze:
Drupal 6.x
Dobrý den, mohl by mi někdo poradit, jak do formulářového pole, které se nachází na každé „produktové“ stránce, dostanu například kód produktu, který je pro každou stránku (produkt) jedinečný a je vytvořen pomocí CCK modulu? Jde mi o to, aby se návštěvníkovi ztento kód na formuláři sám předvyplnil.
Děkuji moc za pomoc :)
Nevím, zda dobře rozumím
Nevím, zda dobře rozumím otázce, ale pomohlo by tohle? http://drupal.org/project/serial
Abych řekl pravdu, tak
Abych řekl pravdu, tak nevím.
Mě jde pouze o to, aby se mi do formuláře na konci každé stránky v předvyplnil obsah konkrétního pole dané stránky. V tomto případě by se jednalo o kód produktu.
Zkoušel jsem to přímo v nastavení formuláře v sekci „komponenty“, ale nerozumím PHP a tudíž nevím jakou implicitní hodnotu a jak nastavit. Ale předpokládám že by to mělo jít snadno zde a tak to zkouším u zkušenějších.
Zkuste se prokousat tímhle
Zkuste se prokousat tímhle vláknem na drupal.org – je to sice staršího data, ale principielně by to fungovat mělo…
EDIT: jsem nevložil ten odkaz… http://drupal.org/node/254543
Ale podle jakého klíče se to
Ale podle jakého klíče se to má předvyplnit? Na čem to závisí?
hmm, příklad: mám CCK
hmm,
příklad: mám CCK textové pole označené jak „kód produktu“ a na každé stránce (kartě produktu) je toto pole vyplněné (má hodnotu např: kód XYZ). Na každé této kartě je ve spodní části zároveň formulář pro odeslání dejme tomu objednávky a já bych rád, aby se CCK pole s hodnoutou kódu předvyplnilo do předem stanoveného formulářového pole tohoto formuláře.
PHP by tedy mělo lovit hodnotu z CCK pole a přiřazovat ji do přednastaveného formulářového pole. Na každé stránce by pak logicky bylo jiné.
a co takhle nodereference_url
a co takhle nodereference_url ? a cim je delany ten formular „dole“? porad je to dost neurcite…
nodereference_url to asi
nodereference_url to asi nebude ono už jen z toho důvodu, že má proměná není v URL obsažena, ale je v poli CCK.
Formulář dole je do stránky
Formulář dole je do stránky vložen díky modulu „Form block“ (používám panels), který umožňuje vytvořený typ obsahu „formulář“ vložit do bloku stránky.
Myslel jsem, že by to mělo
Myslel jsem, že by to mělo jít udělat nějak pomocí proměnných v nastavení komponent formuláře. Myslím nějak pomocí „%site či %get[klíč]“. Text níže je výňatek z nápovědy k „výchozí hodnotě formulářového pole“.
„Symbol %server[key] můžete použít k přidání libovolné speciální proměnné PHP $_SERVER. Symbol %session[key] slouží k přidání libovolné speciální proměnné PHP $_SESSION, symbol %get[key] pak k vytvoření předvyplněných polí formuláře z URL. Symboly %cookie, %request a %post lze rovněž používat s odpovídajícími proměnnými PHP. Například %server[HTTP_USER_AGENT], %session[id] nebo %get[q].“
par tipu: node_load(), arg(),
par tipu: node_load(), arg(), $node->field_muj[0][‚value‘]
Díky za vaší snahu, ale
Díky za vaší snahu, ale nemohu se ničeho dopracovat. A to jsem předpokládal, že by nemělo jít o něco tak těžko realizovatelného.
Pomocí %get to asi nepůjde, že, protože se nejedná o hodnotu předávanou v URL.
Na tvé tipy, Karlosi, nacházím pouze nějaká komplexní řešení, ale to co bych potřeboval ne. Hold jsem v PHP nula.
na %get zapomente!
na %get zapomente! api.drupal.org a tam zadejte do vyhledavani ty dve funkce a hned budete vedet ktera bije
Asi mě trochu přeceňujete :).
Asi mě trochu přeceňujete :). Prošel jsem všechny výsledky, ale pro sebe si z toho příliš nevytáhnu. Myslíte, že bych vás mohl obtěžovat s nějakou konkrétnější radou? Já skutečně vždy nejprve hledám, a až poté prosím o pomoc :)
http://api.drupal.org/…nction
http://api.drupal.org/…nction/arg/6 tady zjistite nid nodu ve kterem prave jste
http://api.drupal.org/…/node_load/6 tohle vam vytvori novy node object
http://www.google.cz/search?… timhle z toho objectu vytahnete hodnotu fieldu.
ale kdyz o tom premyslim tak jestli pouzivate panels tak to tak jednoduche nebude protoze arg(1) vam vrati nid toho panel a ne node toho produktu.
sory ale prekladat vam do cestiny co ty funkce delaji vam nebudu.
Poslat nový komentář