URL odkaz

Ernst
12. zář 2015 00:17 #123359
Mám textové pole ve formuláři.
Když se formulář zobrazí, potřebuji tam mít aktivní odkaz na url

tohle nefunguje - <a href=" www.seznam.cz ">Seznam</a>

jak jinak to napsat? Toto textové pole prý podporuje - Povolené HTML tagy: iframe, a, object

podobně bych to potřeboval na email

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Cony
13. zář 2015 04:19 #123361
Jaké textové pole? V jakém formuláři? Kam vyplňujte to "Tohle nefunguje"? Jak povolené HTML tagy? Nejsou to naopak "Nepovolené HTML tagy" (když tam vidím ten iframe a object)?

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Ernst
13. zář 2015 09:39 #123362
je to text. který se někde vyplní a pak se zobrazí.
V tom zobrazení má být odkaz aktivní.
V originále napsáno - Allowed HTML tags: iframe, a, object
tohle nefunguje jsem jen napsal napsal tady vkládaný kód je :<a href=" www.seznam.cz ">Seznam</a>

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Cony
13. zář 2015 13:40 #123363

ernst napsal: je to text. který se někde vyplní a pak se zobrazí.

A to někde je kde?

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Ernst
13. zář 2015 15:33 - 14. zář 2015 22:13 #123364
uživatel si ve svém profilu zadá email a webovou stránku a když ten profil zobrazím, rád bych aby ty odkazy byly aktivní.

Uloží se do databáze a pak se z ní zobrazí

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Cony
15. zář 2015 01:56 #123390
A "ve svém profilu" to znamená kde přesně? Co přesně znamená "nefunguje"? Hodnota se neuloží, nevypíše, vypíše se tak jak je napsaná (včetně html značek), nebo co vlastně? Chcete-li radu zkuste být trochu konkrétní. Html je správně tak jak píšete, problém tedy bude někde úplně jinde.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Ernst
15. zář 2015 10:05 #123392
hodnota se zobrazí správně (bez HTML značek) ale odkaz není aktivní.
Problém je v tom, že do databáze se uloží již jen výsledek toho html ("Seznam")
Pokud do databáze ručně vložím to html <a href=" www.seznam.cz ">Seznam</a>, tak to zobrazí již aktivní odkaz.
Chyba je tedy někde, kde to modul ukládá do databáze.
A s tím mi nikdo asi neporadí, to musím dohledat já.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Bong
15. zář 2015 10:11 #123394
Ale co je to za Profil? V Joomle, v nějakém rozšíření, ve vašem vlastním rozšíření?

I'm sorry, my responses are limited...you must ask the right questions.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Ernst
15. zář 2015 10:29 #123399
v cizím rozšíření, musím zajistit, aby se mi do databáze vložil ten html kód a ne jeho výsledek.
A to asi opravdu musím najít sám

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Cony
15. zář 2015 11:36 #123400
Jste tajemný jak hrad v Karpatech. Tak aspoň obecně, standardně jsou textové inputy nastaveny tak, aby HTML nepovolily. Pokud chcete HTML povolit musíte to specifikovat u toho pole. Je-li to rozšíření standardní, bude mít někde XML popisující formulář uživatele, kde bude ono pole. Tam je třeba nastavit u příslušného elementu parametr filter, viz dokumentace . Pozor ale, že takovým zásahem si zavřete dveře k aktualizacím.
Poděkovali: Ernst

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Ernst
15. zář 2015 11:50 - 15. zář 2015 11:55 #123405
dveře k aktualizacím jsem si zavřel už dávno, protože zákazník tam chtěl spoustu věcí předělat. Vedu si seznam změn, tak bych je byl schopen změnit i v případné nové verzi.
To xml tam je, musím si ho prostudovat
A tajemný nechci být, je to modul love factory, který ale nemá demo, a je dost drahý, tak asi konkrétně s ním nemá mnoho lidí zkušeností.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Ernst
15. zář 2015 15:59 #123412
Došlo mi, že nejjednodušší je tam doplnit ty html znaky až před odesláním na klienta, tím je to velmi jednoduché.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Ernst
16. zář 2015 20:40 #123435
Tak to funguje bezvadně.
Použil jsem i následující funkci:
public function url_exists ($url) {
if ($h = @get_headers($url))
if (array_key_exists(0,$h) && preg_match('/200|301|302/',$h[0]))
return '1';
}
a dávám tam aktivní odkaz jen na existující stránky.

Taky už konečně chápu $this a pod.
Volat funkci mohu tridaa::url_exists ($url) nebo $this->url_exists ($url)
Pokud volám z jiné třídy (je tam require_once), Tak mohu volat z třídy b jen jako tridaa::url_exists ($url) nebo mohu odkázat i na to $this? Já si myslím, že to nejde, ale raději se ptám

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Cony
16. zář 2015 21:24 - 16. zář 2015 21:25 #123437
To je rozdíl mezi třídou a objektem (instancí chcete-li). Třída je definice objektu, objekt musíte vytvořit. (v PHP pomocí klíčového slova new). Třídu máte jen jednu, objektů té třídy můžete mít kolik chcete. $this odkazuje objekt sám na sebe. Používáte-li volání $this-> voláte funkci objektu. Používáte-li :: voláte statickou funkci třídy. Když se v tom zamotáte skončíte fatální chybou, každé volání má úplně jiný význam a úplně jiný smysl.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.

Odpověď od Ernst
16. zář 2015 22:28 - 16. zář 2015 22:28 #123439
tohle vše chápu.
Ale jaký je rozdíl mezi volání funkce (metody) pomocí :: nebo $this v rámci té samé třídy. Já to chápu, tak že žádný.
Pokud volám z jiné třídy, musím volat staticky - ::
Hodnoty třídy se prvotně nastavují v konstruktoru, ale samozřejmě je mohu měnit a plnit kdekoliv v rámci třídy.

Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.