Jak do $item nacpat surový html ?
Vložil/a Anonymous, 10 Prosinec, 2011 - 18:16
Kategorie:
Jak na to?
Týká se verze:
Drupal 6.x
Ahoj,
potřeboval bych si upravit jeden modul tak aby na stránku vypisoval ještě něco dalšího (jedná se o img s nějakým onclick eventem). S Drupalem začínám, PHP i HTML už „chvilku“ dělám. V modulu je kód:
$items = array();
$items[] = array(
‚data‘ ⇒ l(t(‚blablaba‘), ‚#‘),
‚class‘ ⇒ ‚nejakatrida‘,
);
jak to udělat, aby se za tímto itemem vypsalo třeba < img src=pes.png alt=pes onclick=„javascript:alert(‚hafhaf‘)“ > ??
díky
Georgius
to by bylo potreba sirsi
to by bylo potreba sirsi souvislost kodu… hod primo jakej to je modul. navic moduly bys nemel upravovat.
jde o openid login – BFU neví
jde o openid login – BFU neví co je to openID, takže bych tam potřeboval postupně přidat ikonky nejrozšířenějších openid poskytovatelů jako je gůgl, mojeid, mrkvosoft a tak. A nějaké BFU-friendly linkování (=zase ikonky při přidávání openid, které automaticky vyplní správné openid pro daného poskytovatele a odešlou formulář). Taky nechápu, proč bych měl pouřívat nějaké jquery, když se to dá udělat na dva javascriptové příkazy … Jsem prostě ze staré školy zvyklý počítat instrukce procesoru i přenesené bajty …
Reálný příklad toho, co by mělo být výstupem fuknce openid_form_alter (v modifikovaném staženém html souboru pochopitelně funguje):
Přihlásit pomocí OpenID: Co je OpenID?tak si udelej vlastni modul
tak si udelej vlastni modul ktery bude mit implementovany hook_form_alter ( http://api.drupal.org/…form_alter/7 )
pro vyvoj doporucuju nainstalovat modul Devel a v v te funkci vlastniho modulu dat dpm($form); a tim zjistis kam chces priradit ty sve ikony
pokud znas aspon trochu PHP tak to musis za pul hodiny v pohode zvladnout. dobra ukazka: http://api.drupal.org/…le.profile/7 (je tam odkaz View source hned pod tabulkou funkci)
jestli to ma bejt primo na
jestli to ma bejt primo na tom linku, tak onclick se da dobre udelat pres jQuery a obrazek stylem :)
tady treba popis jak pridat onclick : http://mydrupalblog.lhmdesign.com/…al-behaviors
Jde o openid login – BFU neví
Jde o openid login – BFU neví co je to openID, takže bych tam potřeboval postupně přidat ikonky nejrozšířenějších openid poskytovatelů jako je gůgl, mojeid, mrkvosoft a tak. A nějaké BFU-friendly linkování (=zase ikonky při přidávání openid, které automaticky vyplní správné openid pro daného poskytovatele a odešlou formulář). Taky nechápu, proč bych měl pouřívat nějaké jquery, když se to dá udělat na dva javascriptové příkazy … Jsem prostě ze staré školy zvyklý počítat instrukce procesoru i přenesené bajty …
Reálný příklad toho, co by mělo být výstupem fuknce openid_form_alter (v modifikovaném staženém html souboru pochopitelně funguje):
Přihlásit pomocí OpenID: Co je OpenID?Sorry za dva blbé posty,
Sorry za dva blbé posty, tentokrát skoro správně (až na ten uzavírací tag od komentáře, to mi furt mrví):
jde o openid login – BFU neví co je to openID, takže bych tam potřeboval postupně přidat ikonky nejrozšířenějších openid poskytovatelů jako je gůgl, mojeid, mrkvosoft a tak. A nějaké BFU-friendly linkování (=zase ikonky při přidávání openid, které automaticky vyplní správné openid pro daného poskytovatele a odešlou formulář). Taky nechápu, proč bych měl používat nějaké jquery, když se to dá udělat na dva javascriptové příkazy … Jsem prostě ze staré školy zvyklý počítat instrukce procesoru i přenesené bajty … Něco jako inline assembler ;-)
Reálný příklad toho, co by mělo být výstupem fuknce openid_form_alter (v modifikovaném staženém html souboru pochopitelně funguje):
<div> <div class=„form-item“ id=„edit-openid-identifier-wrapper“>
label for=„edit-openid-identifier“>Přihlásit pomocí OpenID: </label>
<input type=„text“ maxlength=„255“ name=„openid_identifier“ id=„edit-openid-identifier“ size=„13“ value="" class=„form-text“ />
<div class=„description“><a href=„http://openid.net/“>Co je OpenID?</a></div> <!-- providers mod – > <img src=„google.png“ alt=„Google login“ onclick=„javascript:document.getElementById(‚edit-openid-identifier‘).value=‚https://www.google.com/accounts/o8/id‘;document.forms[‚user-login-form‘].submit()“> <!-- end of mod – > </div>
kod posilej takhle:
kod posilej takhle: http://www.drupal.cz/filter/tips
/ — code php (vynechat mezery)
na vsechno je modul :)
na vsechno je modul :) http://drupalmodules.com/…nid-selector
Díky, Mojžíši, nakonec jsem
Díky, Mojžíši, nakonec jsem to vyřešil modifikací překladu (update tabulky) kde je vysvětlení pro BFU a klikátkem „Google Login“ – správná odpověď zněla, že ten $items se dává do $form, který je dále zpracován a já jsem přehlédl volání funkce theme. Když nezavolám theme, tak mi to html neodstraní. Jak prosté, milý Watsone. Chápu že můj brutální Unoxový přístup ke kódu může leckoho pobuřovat, ale přidáním celkem dvou řádek kódu mám nádhernou ikonku na kterou kliknu a na jeden klik jsem nalogovaný (když mám v druhém okně gmail). Asosiace taky na jeden čudlík. A když BFU zmáčne čudlík před registrací, tak mu to rovnou nabídne registraci s úddaji z gmailu. Nádhera a spokojenost. Facebook bohužel nepoužívá openid a fbconnect jsem přes mnohahdinové úsilí nerozchodil, takže další adept na hacking bude přihlašovací rutina a modifikace přihlašování přes facebook.
ještě jednou díky za vše
Georgius
jenze ty dva radky kodu zmizi
jenze ty dva radky kodu zmizi pri nejblizsim update. (jedine pouzivat treba moduly Hacked! a diff a hlidat si to, ale je to vopruz)
kdyz budete „hackovat“ FBlogin tak zkuste to hodit do issue k tomu modulu, treba to pomuze spouste lidi.
ten modul viz vyse se tvari
ten modul viz vyse se tvari ze umi i facebook (ale nezkousel sem). chapu ze to takhle pusobi jednoduseji, z pohledu dlouhodobe udrzby to muze ale byt problem – viz anonymni poznamka vyse :)
Poslat nový komentář