Egyedi "target" menühöz illetve wordpress linkekhez

Sziasztok!



Esetleg tudna valaki segíteni?



Használok egy “lightbox”-ot (foobox) képek, illetve egyéb dolgok (iframe, html, form-ok stb…) popup megjelenítéséhez.



A tartalom csak akkor nyílik meg a “lightbox”-ban ha “target”-ként beállítom hogy “foobox”.



Ez mind szép, és jó ha szövegbe teszek egy linket.



Egyszerűen megírok egy linket és beleírom a “target”-et.



pl: <a href=“http://www.index.hu” target=“foobox”>INDEX



De én szeretnék a menüből is a “lightbox”-omban megnyitni dolgokat.

Viszont itt és a wordpress linkeknél (editor) is sajnos csak a “Hivatkozás megnyitása új ablakban/új fülön” “target”-et tudom kiválasztani.

Ez valahogy hiányossága a wordpress-nek. :frowning: ???

A kérdésem az lenne hogy hogyan lehet egyéni “target”-et beállítani a menüben illetve a linkek hozzáadásánál.

Csatoltam két képet a jobban érthetőség kedvéért.

Köszönöm előre is a segítséget.

Attila






Lehet más topikba kéne ezt írnom??? :slight_smile:

Ezek talán adnak ötletet a megvalósításhoz:



http://www.wpbeginner.com/wp-themes/how-to-add-custom-items-to-specific-wordpress-menus/



http://www.wpexplorer.com/adding-custom-attributes-to-wordpress-menus/

Köszi Győző!

Ezeket már én is kigugliztam…

Programozás tömegek. Nem vagyok programozó, és ólybá tűnik, ezek már meghaladják a képességeimet. :frowning:

Viszont konkrétan a “foofbox”-ra kihegyezve találtam egy már szépen megírt plugint.

(Biztos a jóembert is bosszantotta ez a wordpress hiányosság, és jól megírta)



https://github.com/mathetos/target-foobox



És itt: http://www.attika-weboldalkeszites.hu a “kapcsolat” menüre kattintva látható hogy tökéletesen működik is.

De sajnos ez továbbra sem oldja meg az egyedi attribútumok hozzáadását a wordpress menüben, és az editor link szerkesztőjében sem.

Sajnos alapértelmezettként csak a “Hivatkozás megnyitása új ablakban/új fülön” és a “CSS osztályok” opciót lehet kiválasztani.

Esetleg ezt az igény lehet valahol jelezni a wordpress fejlesztőinek?

Mert ahogy gugliztam azt vettem észre hogy nem vagyok egyedül ezzel az igénnyel.

Üdv, Attila

Szia!



Próbáld meg úgy, hogy megnyitod a footer.php -t és a body elé beteszel egy ilyesmit:

<br />
<br />
jQuery( document ).ready(function($) {<br />
//console.log( "Jquery ok!" );<br />
$('ul.menu a').each(function() {<br />
var rel = $(this).attr('rel');<br />
$(this).attr('target', rel);<br />
});<br />
});<br />
<br />

```<br />
Ez azt csinálja, hogy az ul.menu -ben lévő összes linkre megnézi mi a rel paramétere, és ha az van, akkor beteszi annak értékét egy target attribútumba!<br />
 <br />
Tehát valami ilyesmi  lesz a kimenete (annak az a-nak, aminek van rel="foobox" paramétere):<br />
 <br />
<a rel="foobox" href="....." target="foobox">Ez egy oldal, link ide mutat</a><br />
 <br />
Ezután a menüben add meg a menüpontokra a Hivatkozás kapcsolati minősége (XFN) -mezőbe hogy foobox. Mert az kerül rel -be. És majd a fenti szkript meg ez alapján teszi át target="foobox" -ba.<br />
 <br />
Így HA a popup úgy van megírva, akkor a javascript el betett attribútumot is értelmezni fogja!  <br />
 <br />
De csak akkor ha így írták meg: <a href="http://api.jquery.com/live/">http://api.jquery.com/live/</a> , (az event handlet-így írtákmeg, ugye régen a .live() volt használatban, mostanság az .on() -t használják)<br />
 <br />
 <br />
Fontos!<br />
 <br />
Én itt így adtam meg: $('ul.menu a').each(function() de nálad nézd meg, hogy a menüd UL-je milyen osztályban vagy id ben van, arra írd át! Máskülönben nem működik. De ha mutatsz példaoldalt, akkor kinézem neked.

Köszi András!

Bár nem vagyok programozó de nagyjából értem az elgondolást.

Megcsináltam de sajnos nem működik. :frowning:



Ezen az oldalon:



http://www.attika-weboldalkeszites.hu



a “kapcsolat” menüpontra kattintva kellene megnyílni a “foobox” popup-ban.

Most ahogy írtad, ehhez a menüponthoz állítottam be a Hivatkozás kapcsolati minősége (XFN) -mezőbe hogy foobox.

De sajnos nem megy.





És még ha abban tudsz segíteni hogy valami hasonló trigger trükkel hogy tudnám az editorban is megoldani, ezt a taget-et.

Ahogy az első beírásomnál írtam, sajnos itt is csak a “Hivatkozás megnyitása új ablakban/új fülön” target opciót lehet kiválasztani.



Köszönöm hogy időt, és energiát szánsz rám, Attila

Szia!



Nálad a menü miatt így kell ez a sor:

<br />
$('ul#menu-home a').each(function() {<br />

```<br />
Mert ilyen id-ben van a menü UL-je.  Azt ellenőrizd le, hogy így megkapja-e a target="foobox" -ot a kapcsolat. az <a> -ban<br />
 <br />
Elvileg meg kell. Hogy ez most így jó-e ennek a foobox -nak, azt nem tudom, csak hogy így lehetséges a kiegészítés-<br />
 <br />
Az admin editor oldalába is tehetsz jquery-t: (A másik kérdésnél)<br />
 <br />
 <br />
pl: <a href="http://codex.wordpress.org/Plugin_API/Action_Reference/admin_enqueue_scripts#Example">http://codex.wordpress.org/Plugin_API/Action_Reference/admin_enqueue_scripts#Example:_Target_a_Specific_Admin_Page</a>

Szia!



Most megnéztem és láttam, hogy sikerült kitenni a target=“foobox” -ot.



Egyébként mit szeretnél megjeleníteni? Mert az ilyen popop dolgoknál, ha linkre teszel popup tartalmat, azt általában + dologgal is ki kell egészíteni, pl html ben megadni, hogy mi legyen popup ban. Képnél egyértelmű, hogy magát a képet teszi be, de tartalomnál azért többet kell általában megadni. Csak hogy ezt nézted-e ennél a foobox-nál hogy van…



Vagy sikerült-e elsőnek egy sima linkre popup-oltatatni egy tartalmat…



Csak azért írom, mert nem tudom, lehet azt szeretnéd hogy a kapcsolati űrlap jelenjen meg popup-ban? Mert ahhoz maga a target beállítása szerintem nem elég…



Általában úgy szokás, hogy valamivel megjelölik, hogy melyik rejtett div lesz majd az adott popup-ban. (szerintem itt a target=“foobox” mellet maga a tartalom css-en keresztüli összepárosítása is kell!)



Mert a gyakorlatban így lehet csak megadni, hogy ténylegesen mi jelenjen meg.

Szia!

Igen megoldatta a script amit írtál. Valóban ott van a target=“foobox”

Egyszerűen az egyik oldalamat (kapcsolat) szeretném megnyitni ebben a “foobox” popup-ban

De az istennek nem megy menüből vagy egy gombról.

Ezt látom most a “kapcsolat” menü ponton:

<br />
<a>Kapcsolat</a><br />
<br />

```<br />
Szépen ott van a target, ahogy mondtad. Viszont látható hogy a "rel" attribútum is benn maradt, ami miatt sajnos továbbra sem nyílik meg popup-ban.<br />
 <br />
 <br />
Csináltam egy demo oldalt <strong><a href="http://www.attika-weboldalkeszites.hu/teszt-oldal">http://www.attika-weboldalkeszites.hu/teszt-oldal</a></strong>  és benne egy egyszerű HTML linket így:<br />
<div><br />

Kapcsolat ```
Rákattintva erre a szöveges linkre szépen megnyílik popup-ban. Pont ahogy szeretném.


És csináltam ide egy gombot is amihez ahogy írtam szintén nem tudok hozzá adni egyedi "target"-et.
csak ezt tudom kiválasztani: "Hivatkozás megnyitása új ablakban/új fülön"

Egyébként itt van hozzá a dokumentáció: http://docs.fooplugins.com/foobox/iframes

Köszi, Attila

Végül megoldottam. :slight_smile:



Így:

<br />
$('a[rel="foobox-gomb"]').attr('target', 'foobox');
```<br />
A "rel" attribútumhoz beírom hogy foobox-gomb és rendben is van.<br />
És ezt a menühöz és a gombhoz is hozzátudom adni.<br />
 <br />
Még egyszer köszönöm a segítségedet,<br />
Üdv, Attila