Navigationsproblem

Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
Post Reply
cmss
Posts: 244
Joined: Mon Jan 02, 2017 6:15 pm

Navigationsproblem

Post by cmss » Sat Jul 11, 2020 8:05 pm

Ich habe in meiner cleanen Version das letzte Problem, daß bei zweimaligem Nacheinander - Anklicken eines Links mit kleiner Pause ein Absturz auf ..de/# erfolgt. Bei der normalen ?-Version wird die Seite nicht noch einmal geladen.
Unter Windows ist der Link nach anklicken nicht mehr für ein zweites Anklicken zugänglich, die Seite funktioniert aber ( - keine Reaktion - erst ein anderer Link aufzurufen) , es erfolgt auch kein Absturz auf .../# .
dazu eine Testseite : http://ulclean.mb-info.eu/#

In der ?-Version wird stattdessen das Template nicht ein zweites Mal geladen(d.h. so kein Seitenrefresh möglich, da kein Anker vorhanden).
Das Problem liegt in li.php function renderMenuItem($i).
*Im Template 'under the bridge' ist das Problem aufwendig 2zeilig umgangen mit class MenuHorLi extends XH_Li
<span class="ddm_link"><a href="/tm2/xhj20/?Templates">Templates</a></span> <span class="ddm_opener"><a href="#" onclick="return false;"> ......Hier wird aber zwischen horiz. und vertikalem Menü unterschieden.

**Ich habe in der cleanen Version nur <a ...href="#" ...> Seitenname </a>. - > auf das # stürzt es ab

Da werde ich wohl mal die function renderMenuItem($i) kompatibel umschreiben müssen (sollte man auch kompatibel im Master anstreben) - oder hat jemand eine Lösung ?
In li.php wird in Zeile 276 $html verwendet. Ick benutzt $t als Variable. Mit gloabal $ht und $ht = '<span>' . $ht . ' '; bekomme ich einen Link-Versatz um 1 nach hinten - wohl aus der Zeile 274 vorher.(mit $t geht es nicht)
(Die andere Lösung wäre $pu1 = $_SERVER['REQUEST_URI']; if ($pu1 != "#"){$pu2 = $pu1;} elseif ($pu1 == "#") { header("Location: .$pu2.... ) } --- Code nicht getestet. )

cmss
Posts: 244
Joined: Mon Jan 02, 2017 6:15 pm

Re: Navigationsproblem

Post by cmss » Mon Jul 13, 2020 11:37 am

Ich hatte mir im init.js der smartmenus-bt-templates ein Eigentor mit href=# geschossen (alter Ratschlag des Entwicklers), das ich jetzt beseitigt habe.

Das Problem der toten aktiven Links <span> Name </span> lässst sich einfach lösen Li.php 274
protected function renderMenuItem($i)
{ global $h;
$uur = $_SERVER['REQUEST_URI'];
$uuh = "<a href=";

if ($this->tf) {
$html = $this->renderAnchorStartTag($i);
} else {
$html = '<span class="xhspan">' . $uuh . $uur .'>';
}
$html .= $h[$this->ta[$i]]; /*alle Links nacheinander*/

$html .='</a></span>';
return $html;
}

Post Reply