View Issue Details

IDProjectCategoryView StatusLast Update
0000201Adventure PHP FrameworkBugpublic2015-10-12 12:20
ReporterGeneral CrimeAssigned ToChristianAchatz 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version2.0.1 
Target VersionFixed in Version2.1.1 
Summary0000201: HtmlLinkTag fehler der CSS Klassenvergabe.
DescriptionHallo Leute,
mir ist heute etwas merkwürdiges aufgefallen ich habe zwei Links korrekt eingebunden.

Links:

<html:a content="highscore">Spieler</html:a>
<html:a content="highscore" view="union">Union</html:a>

Der Aktuelle Link ist:
http://127.0.0.1/projecticarus/?content ... view=union

Die Links werden so geparst:
http://127.0.0.1/projecticarus/?content=highscore
http://127.0.0.1/projecticarus/?content=highscore&view=union

Sobald 2 Parameter existieren kommt die Taglib damit nicht klar.

mfg Christan M.
Steps To ReproduceEinen Link Generieren mit mind. 2 Parametern.
Additional Informationpublic function isActive() {
      $currentUrl = LinkGenerator::generateUrl(Url::fromCurrent(true));
      if (substr_count(str_replace('&', '&', $currentUrl), $this->attributeList['href']) > 0) {
         return true;
      }
      return false;
   }

Der Fehler scheint der str_replace zu sein die URL wird verändert "&" aber der href hat "&" bin mir grad nicht sicher warum das geändert wird aber wenns nötigist müsste das beim href auch passieren erst dann ergibt die abfrage in meinem besagten Fall TRUE.
Tagslink, taglibs
Codereferenz: ([Datei]:[Zeile])HtmlLinkTag:122
Namespacetools

Activities

ChristianAchatz

2014-06-08 11:56

administrator   ~0000374

Hallo Christian,

kannst du dir mal die aktuellen Quellen aus dem master-Branch ziehen? Dort hatte ich vor meinem Urlaub noch einiges gefixt.

General Crime

2014-06-22 12:28

developer   ~0000401

Also bei mir in der Version 2.1 ist es nun unter HtmlLinkTag:145.
Weis nicht genauob Du das meinst da man das eigentlich ja recht schnell findet.

Sorry wegen der späten antwort.
mfg Christian

ChristianAchatz

2014-06-22 13:53

administrator   ~0000402

Hallo Christian,

korrekt, das ist die besagte Stelle. Ich hatte im LinkGenerationTag einige Änderungen vorgenommen, daher die Annahme, dass es in deinem Fall nun funktionieren könnte.

Falls dem nicht so ist, schaue ich mir das gerne nochmal an.

General Crime

2014-06-22 18:31

developer   ~0000407

Der Fehler existiert immer noch er ist ganz leicht zu beheben indem man dies aus der besagten Zeile macht:

if (substr_count($currentUrl, $this->getAttribute(self::HREF_ATTRIBUTE_NAME)) > 0)

Habe lediglich den str_replace entfernt.

Zudem kann der Fehler dann wieder hervorgerufen werden wenn zb die Attribute nur vertauscht werden der link zb die Parameter:
?id=15&content=xyz statt wie bei der generierung ?content=xyz&id=15 lautet.

ChristianAchatz

2014-08-05 07:45

administrator   ~0000470

Hallo Christian,

entschuldige die späte Antwort, hab deinen Post im Issue irgendwie übersehen. Ich kann die Zeile gerne austauschen, allerdings sieht mir das nach einer generellen Implementierungsschwäche aus.

Erste Idee wäre die aktuelle und gewünschte Ziel-URL über den LinkGenerator neu aufzubauen und vorher die Parameter zu sortieren. Dann sollten sich theoretisch alle URLs damit "erkennen" lassen.

Ich schaue mir das heute mal an und melde mich später nochmal.

ChristianAchatz

2014-08-05 18:07

administrator   ~0000473

Arbeite grade an einem UnitTest für die von dir aufgeführten Fälle und denke ich habe eine Lösung. Melde mich heute Abend nochmal.

ChristianAchatz

2014-08-05 18:46

administrator   ~0000474

Hallo Christian,

ich habe nun eine Lösung gefunden und unter https://github.com/AdventurePHP/code/commit/e3cca5d0582f8fef766e4b0e58fb07a557827224 eingecheckt. Schau mal ob das für dich passt, dann würde ich das noch in 2.1.1 backport'en.

Issue History

Date Modified Username Field Change
2014-05-31 14:26 General Crime New Issue
2014-05-31 14:27 General Crime Tag Attached: link
2014-05-31 14:27 General Crime Tag Attached: taglibs
2014-06-08 11:56 ChristianAchatz Note Added: 0000374
2014-06-08 11:56 ChristianAchatz Status new => feedback
2014-06-22 12:28 General Crime Note Added: 0000401
2014-06-22 12:28 General Crime Status feedback => new
2014-06-22 13:53 ChristianAchatz Note Added: 0000402
2014-06-22 13:53 ChristianAchatz Assigned To => ChristianAchatz
2014-06-22 13:53 ChristianAchatz Status new => feedback
2014-06-22 18:09 General Crime Status feedback => assigned
2014-06-22 18:31 General Crime Note Added: 0000407
2014-08-05 07:45 ChristianAchatz Note Added: 0000470
2014-08-05 18:07 ChristianAchatz Note Added: 0000473
2014-08-05 18:46 ChristianAchatz Note Added: 0000474
2014-08-05 18:46 ChristianAchatz Status assigned => resolved
2014-08-05 18:46 ChristianAchatz Fixed in Version => 2.1.1
2014-08-05 18:46 ChristianAchatz Resolution open => fixed
2015-10-12 12:20 ChristianAchatz Status resolved => closed