Empfehlungen: Erweiterte Suche

Html Helper->Link Generierung *solved*

Unterstützung der Daten-Formatierung in den Views (DRY)

Html Helper->Link Generierung *solved*

Beitragvon MIka » Sa 25. Dez 2010, 20:58

Mahlzeit.

Ich bin auf ein komisches Problem gestossen.
Hier erstmal nen Code snippet aus einem View:
Code: Alles auswählen
...
<nav>
<a href="#" class="rght">next</a>
<?php
  if($download){
    echo $this->Html->link('Download',array(
    'plugin' => 'galleries',
    'controller' => 'galleries',
    'action' => 'download',
    $download),array('class'=>'down'));
  }
?>
    <a href="#" class="lft">prev</a>
</nav>
...

Output von $this->Html->link ist:
Code: Alles auswählen
<a href="/galleries/galleries/download/schiffchen_seide.jpg" class="down">Download</a>
 

Der Link, der per Cake generiert wird, ist komischerweise nicht anklickbar (Firebug sagt mir auch nix. Wenn ich auf Element untersuchen gehe, dann bekomme ich nur das Parent Element ausgewählt.). Wird nicht als Link sozusagen erkannt. Wenn ich den Html Output per echo ausgeben lasse, dann besteht dasselbe Problem.

Aber das komische ist, wenn ich den Link als normales HTML schreibe funktioniert er.
Die beiden weiteren Links im Code Snippet funktionieren. Alle 3 Links besitzen dasselbe CSS (bzw. sie unterscheiden sich im top Wert.).

Kurzum: Alles was zw. <?php ?> in dem Snippet steht wird nicht als Link erkannt.Aber wenn ich den Link direkt als HTML schreibe funktioniert er.

Wißt Ihr woran das liegen könnte?

Lg,
mika
Zuletzt geändert von MIka am So 26. Dez 2010, 15:18, insgesamt 1-mal geändert.
MIka
 
Beiträge: 21
Registriert: Di 24. Nov 2009, 10:36
CakePHP-Version: 1.3
OS: Win7,WinXP,Ubuntu

Re: Html Helper->Link Generierung->Link wird nicht erkannt

Beitragvon euromark » Sa 25. Dez 2010, 22:52

für mich sieht die ausgabe OK aus
euromark
 
Beiträge: 642
Registriert: Fr 27. Jun 2008, 22:17
Wohnort: München
CakePHP-Version: 2.x
OS: Windows

Re: Html Helper->Link Generierung->Link wird nicht erkannt

Beitragvon MIka » So 26. Dez 2010, 10:03

@euromark:
Ja, und genau da liegt das Problem. ^^

Die ganze Story:
Ich habe für eine Website ein Image viewer Plugin gebaut. Die Bilder werden per animate & opacity "ein- und ausgefadet". Die Links (und der Bildtext) aus dem obigen Snippet werden, wenn die Maus sich über den Bild befindet, ein- und ausgeblendet per fadeIn
...
elem.find('article.info').mouseover(function() {
stop(); /* Bildwechsel wird gestoppt */
elem.find('article.current, .info').fadeIn(opt.fade);
});
...

Zuerst habe ich gedacht es liegt an meiner JS (Jquery) & CSS Programmierung. Aber da die beiden anderen Links (prev & next) funktionieren, habe ich dies ausgeschlossen. Mein debugging hat mir leider keine weitere Erkenntnis gebracht. Es liegt auch kein anderes Element über dem Download Link.

Der Link der per php generiert wird ist richtig. Dieser funktioniert, wenn ich den nicht generieren lasse, sondern in HTML direkt reinschreibe. Ergo: Es muss an der PHP Generierung liegen.
BTW: Es funktioniert in keinem Browser...

Irgendwo muss aber trotzdem ein logischer Fehler vorhanden sein...

Mir fehlt aber mittlerweile irgendein Ansatz den ich noch überprüfen könnte...
MIka
 
Beiträge: 21
Registriert: Di 24. Nov 2009, 10:36
CakePHP-Version: 1.3
OS: Win7,WinXP,Ubuntu

Re: Html Helper->Link Generierung->Link wird nicht erkannt

Beitragvon euromark » So 26. Dez 2010, 12:46

wenn du JS im browser ausmachst
gehts dann?
euromark
 
Beiträge: 642
Registriert: Fr 27. Jun 2008, 22:17
Wohnort: München
CakePHP-Version: 2.x
OS: Windows

Re: Html Helper->Link Generierung->Link wird nicht erkannt

Beitragvon Flo » So 26. Dez 2010, 13:35

Hab es gerade mal in einer nackten Installation getestet. Da ging der Link...

Kenne den Fehler auch nicht... könnte es eventuell an der css class liegen?
Flo
 
Beiträge: 85
Registriert: Mi 11. Jun 2008, 20:48
Wohnort: Bielefeld
CakePHP-Version: 1.3
OS: Mac OSX 10.6

Re: Html Helper->Link Generierung->Link wird nicht erkannt

Beitragvon MIka » So 26. Dez 2010, 14:03

Edit: Gesamten Beitrag

Ok, ist mir ja jetzt fast schon zu peinlich...

Die Schemata meines HTML Codes ist
Code: Alles auswählen

<article><div class="info"><nav></nav</div></article>
<article><div class="info"><nav></nav</div></article>
<article><div class="info"><nav></nav</div></article>
 

In jedem article wird ein Bild per CSS backround zugewiesen....Ich habe aber den Fehler gemacht, dass der nav Inhalt in jedem (!) article tag auftaucht. Da die prev & next Links in jedem Article stehen waren diese auch benutzbar...Der Download Link wurde nur in einigen article tags gesetzt...ergo: nicht anklickbar.

Ich habe jetzt in meinem Jquery Plugin die CSS Klasse
Code: Alles auswählen
.front { z-index:900; }

jeweils bei dem "mouseover" explizit gesetzt und beim mouseleave herausgenommen. Dies funktioniert jetzt...
Hab den Wald vor lauter Bäumen nicht mehr gesehen... :lol:

Naja, ich werde erstmal mich anderen Problemen widmen und dann mein Plugin nochmal ändern müssen. Ärgerlicherweise habe ich damit Stunden zugebracht und an falscher Stelle gesucht...

Ich bedank mich für eure Antworten und Tipps.

lg,
mika
MIka
 
Beiträge: 21
Registriert: Di 24. Nov 2009, 10:36
CakePHP-Version: 1.3
OS: Win7,WinXP,Ubuntu


Zurück zu Helper

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron