Beiträge von m6joe
-
-
UPDATE
Meine o.g. Änderungen habe ich nun auf die Live-Site gespielt, Codezeilen der beiden Seiten verlagert, läuft!
Zum Reproduzieren aber vielleicht für manche interessant:
Datei mod_menu/tmpl/default.php => Integration eines Moduls <jdoc:include type="modules" name="IrgendeineModulposition" /> => ergibt bei mir lokal nach wie vor einen Fehler beim Rendern.
Die HTML-Ausgabe ergibt lediglich
-
Ist mir auch klar, das passiert seit dem Update von 6.0 zu 6.1.
Das Modul habe ich bislang - wenn die Bildschirmgröße es eben zulässt - mit der Template-Menu-Override-Datei eingebracht:
PHP
Alles anzeigen<?php /** * @package Joomla.Site * @subpackage mod_menu * * @copyright (C) 2009 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; use Joomla\CMS\Helper\ModuleHelper; /** @var Joomla\CMS\WebAsset\WebAssetManager $wa */ $wa = $app->getDocument()->getWebAssetManager(); $wa->registerAndUseScript('mod_menu', 'mod_menu/menu.min.js', [], ['type' => 'module']); $id = ''; if ($tagId = $params->get('tag_id', '')) { $id = ' id="' . htmlspecialchars($tagId, ENT_QUOTES, 'UTF-8') . '"'; } // The menu class is deprecated. Use mod-menu instead moegliche Klassen zu <nav>: navbar-expand-lg bg-body-tertiary ?> <div class="row"> <nav class="navbar bg-body-tertiary"> <div class="col-12 order-1 order-md-0 col-md-6 grid-divider2"> <div class="row"> <div class="col-6" style="position: absolute; top: 3%; left: 1%;"> <div id="bs5lg" class="d-none d-md-block"><jdoc:include type="modules" name="language" /></div> </div> </div> <div class="row"> <div class="col-8 col-md-12 d-flex mx-auto my-auto justify-content-center"> <a href="/" class="text-center"><img src="images/logo/logo_grau.png" alt="Logo" class="logo-img mt-2 mt-md-0" /></a> </div> </div> </div> <div class="col-12 col-md-6 d-flex mx-auto my-auto justify-content-center grid-divider1 mb-2 mb-md-0"> <ul<?php echo $id; ?> class="navbar-nav <?php echo $class_sfx; ?>"> <?php foreach ($list as $i => &$item) { $itemParams = $item->getParams(); $class = 'nav-item item-' . $item->id; if ($item->id == $default_id) { $class .= ' defaultmenu'; } if ($item->id == $active_id || ($item->type === 'alias' && $itemParams->get('aliasoptions') == $active_id)) { $class .= ' current'; } if (in_array($item->id, $path)) { $class .= ' active'; } elseif ($item->type === 'alias') { $aliasToId = $itemParams->get('aliasoptions'); if (count($path) > 0 && $aliasToId == $path[count($path) - 1]) { $class .= ' active'; } elseif (in_array($aliasToId, $path)) { $class .= ' alias-parent-active'; } } if ($item->type === 'separator') { $class .= ' divider'; } if ($item->type === 'heading') { $class .= ' headingmenu'; } if ($item->deeper) { $class .= ' deeper'; } if ($item->parent) { $class .= ' parent'; } echo '<li class="' . $class . '">'; switch ($item->type) : case 'separator': case 'component': case 'heading': case 'url': require ModuleHelper::getLayoutPath('mod_menu', 'default_' . $item->type); break; default: require ModuleHelper::getLayoutPath('mod_menu', 'default_url'); break; endswitch; // The next item is deeper. # if ($item->deeper) { # echo '<ul class="mod-menu__sub list-unstyled small">'; # } elseif ($item->shallower) { // The next item is shallower. echo '</li>'; # echo str_repeat('</ul></li>', $item->level_diff); # } else { // The next item is on the same level. # echo '</li>'; # } } ?></ul></div></nav></div>Der Fehler liegt wohl an einer geänderten Handhabung der Modul-Einbindung, was offensichtlich bis Version 6.0 auch innerhalb von Overrides möglich war. Jetzt aber nicht mehr.
Ich hatte natürlich auch andere Module probiert dort einzubinden - mit dem selben Rendering-Fehler.
In der Zwischenzeit habe ich die beiden betreffenden Dateien des Templates (index.php & das Override) umgeschrieben, sodass ich - noch lokal - das alte gewünschte Ergebnis erhalte.
Das fehlerhafte Rendern ist aber doch interessant...
-
Vivana, ich geb Dir hier nicht unrecht, jedoch soll das Sprachmodul rechts ja erst unter "MD" erscheinen, in den größeren Ansichten sollte es lt. Foto links oberhalb des Logos zum Vorschein kommen. Und genau dort wird das Modul nicht gerendert.
Der Auschnitt aus der lokalen J6.0.2 Version.
Hier jener aus der aktuellen:
Was die d-none usw. in Bootstrap bedeuten ist mir schon klar.
Im Quelltext in Zeile 74 liegt mein oben beschriebenes Problem:
-
Servus Rolf!
Das könnte durchaus sein.Allerdings habe ich soeben in der mod_menu/default.php das Sprachmodul eingebunden, und in der lokalen Installaton getestet - der Output wie folgt:
Code<div id="bs5lg" class="d-block"><p>Test:</p><jdoc:include type="modules" name="language"></jdoc:include></div>Also das selbe Problem wie oben, allerdings mit der der default.php aus J!6.1
Lässt das der Joomla-Core vielleicht gar nicht mehr zu?
-
Servus zusammen!
Seit dem Update von 6.0 auf 6.1 erscheint das Modul zur Sprachauswahl nicht mehr, der HMTL-Output zeigt lediglich:
HTML<div id="bs5lg" class="d-none d-md-block"><jdoc:include type="modules" name="language"></jdoc:include></div>Joomla mag das Modul wohl nicht mehr rendern.
Lokal habe ich noch eine Version auf Joomal 6.0.2 laufen, hier kommt der Output korrekt:
HTML
Alles anzeigen<div id="bs5lg" class="d-none d-md-block"><div class="mod-languages"> <p class="visually-hidden" id="language_picker_des_110">Sprache auswählen</p> <ul aria-labelledby="language_picker_des_110" class="mod-languages__list lang-inline"> <li> <a aria-label="Polski" href="/test26/pl">PL</a> </li> <li> <a aria-label="English" href="/test26/en">EN</a> </li> </ul> </div><jdoc:include type="modules" name="language" /> lädt hier innerhalb eines Template-Overrides (mod_menu).
Woanders in der template/index.php platziert erscheint es natürlich, ich hätte es aber vom Design her gerne nach wie vor in der Override-Datei:
PHP
Alles anzeigen<?php /** * @package Joomla.Site * @subpackage mod_menu * * @copyright (C) 2009 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; use Joomla\CMS\Helper\ModuleHelper; /** @var Joomla\CMS\WebAsset\WebAssetManager $wa */ $wa = $app->getDocument()->getWebAssetManager(); $wa->registerAndUseScript('mod_menu', 'mod_menu/menu.min.js', [], ['type' => 'module']); $id = ''; if ($tagId = $params->get('tag_id', '')) { $id = ' id="' . htmlspecialchars($tagId, ENT_QUOTES, 'UTF-8') . '"'; } // The menu class is deprecated. Use mod-menu instead moegliche Klassen zu <nav>: navbar-expand-lg bg-body-tertiary ?> <div class="row"> <nav class="navbar bg-body-tertiary"> <div class="col-12 order-1 order-md-0 col-md-6 grid-divider2"> <div class="row"> <div class="col-6" style="position: absolute; top: 3%; left: 1%;"> <div id="bs5lg" class="d-none d-md-block"><jdoc:include type="modules" name="language" /></div> </div> </div> <div class="row"> <div class="col-8 col-md-12 d-flex mx-auto my-auto justify-content-center"> <a href="/" class="text-center"><img src="images/logo/logo_grau.png" alt="Logo" class="logo-img mt-2 mt-md-0" /></a> </div> </div> </div> <div class="col-12 col-md-6 d-flex mx-auto my-auto justify-content-center grid-divider1 mb-2 mb-md-0"> <ul<?php echo $id; ?> class="navbar-nav <?php echo $class_sfx; ?>"> <?php foreach ($list as $i => &$item) { $itemParams = $item->getParams(); $class = 'nav-item item-' . $item->id; if ($item->id == $default_id) { $class .= ' defaultmenu'; } ...Ich bin für jeden Ratschlag dankbar, die grundsätzliche Frage nach der Änderung im System würde mich aber aber meisten interessieren!
Danke & Grüße, Joe
-
Servus Christian!
Da geb ich Dir grundsätzlich recht, ja.
ABER:
Die Inhalte würden dann ja noch "online" sein, sind dann immer noch aufrufbar - sei es via Kategorie-Blog, oder via Modul und was es da sonst noch so gibt. Und das ist meist ja nicht gewollt und gewünscht.
Zudem werden diese Inhalte letztlich auch von den Bots mit wirren Urls indexiert. -
Servus zusammen!
Die "Problematik" Beiträge und Menüeinträge parallel in einem einzigen Vorgang, mit dem selben Datum der Veröffentlichung/Beendigung auszustatten ist heute mal die Frage, die ich in die Runde stellen darf.

Ist das von Seiten von Joomla überhaupt einmal angedacht?
Es soll ja mal vorkommen, dass Beiträge nicht dauerhaft auf der Webseite angezeigt werden sollen und entsprechende Menüeinträge dann natürlich auch nicht mehr...Danke & Güße, Joe
-
Gibt´s dazu schon eine plausible Erklärung - denn ich habe dasselbe Problem:
Mein Modulstil unter /templates/meinTpl/html/layouts/chromes/aptx.php kommt nicht in die Gänge, wenn ich dieselbe Datei aber
in /layouts/chromes/aptx.php kopiere und diesen Stil - weil er auch verfügbar wird - auswähle funktionierts.
Der Stil ist auch auswählbar wenn ich die ihn aus dem eigenen Templatebereich verwenden möchte!
-
Auf Anhieb!
Tausend Dank.
Läuft, danke nochmals
-
Danke @OJ für die Info!
Mir geht´s weniger um die Webanwendung von Casablanca - mit dieser Integration bin ich zufrieden, o.g. Beiträge sind aber sicher wert sich das einmal anzusehen!
In jedem Beitrag kann man ja im Reiter "Bilder und Links" diverse Dinge dem Beitrag beigeben - siehe Screenshot.
Die Parameter für READMORE usw. werden im aktuellen Code bereits ausgelesen und können verwendet werden.
Nun möchte ich allerdings Link-A, und Linktext-A statt der READMORE-Daten verwenden.
In der com_content habe ich in der tmpl/default_links.php diesen Snip, den ich wohl benötige:
$urls = json_decode($this->item->urls);
Mag vorerst aber noch nicht ins Modul, endet mit
Zitat
0 - Using $this when not in object context -
Servus!
Mittels Override des Newsflash Moduls realisiere ich gerade einen Content-Slider auf Basis Bootstrap 5.Grundsätzlich funktioniert dieser, ich hätte allerdings gerne statt
$item->link =>Link A aus dem Beitrag und
$item->linkText => Linktext zu Link A aus dem Beitrag
im Bereich
PHP<?php if (isset($item->link) && $item->readmore != 0 && $params->get('readmore')) : ?> <div align="center" style="clear: both;"> <?php echo '<a class="btn btn-info btn-sm" href="' . $item->link . '" role="button">' . $item->linkText . '</a>'; ?> </div> <?php endif; ?>verwendet.
Wer hat hier Ahnung wie ich zu diesen Parametern komme?
Danke vorab
-
Danke für Info!
Tatsächlich war´s so, dass das Sprachwahl-Modul von der englischen Startseite zurück zur deutschsprachigen diese Url gesetzt hat.
- Verknüpfung der beiden Hauptmenü-Einträge entfernt
- ebenso die Verknüpfung der Beiträge entfernt
- Cache geleert
- Verlinkung erfolgt nun wieder ../de => ../en & auch andersrum
- Verknüpfung der Hauptmenü-Einträge wieder gesetzt.
Hoffe das bleibt nun auch so.
-
Servus zusammen!
Mich beschäftigt die Frage nach der Generierung von Url in Joomla, im Besonderen zur Startseite einer mehrsprachigen Webseite:
- Startseiten-Menü wird mit 1 Hauptbeitrag erstellt => ../de
- Mein Sitemap XML sagt mir aber auch, dass es diese Url gibt:
../de/12-kategorie/1-beitrag.html
Zweite Url sollte aber gar nicht erst aufscheinen. Joomla! generiert hier mittels Kagorie-ID & Name, sowie Beitrags-ID & Name diese "schreckliche" Url...
Wer kann mir da Auskunft geben?
DANKE vorab & Grüße
-
-
Servus zusammen!
Vielleicht kann mir jemand von Euch erklären, warum ich für ein Off-Canvas Seitenmenü jQuery ein zweites Mal einbauen muss, damit es funktioniert:
Hier der Link zum Projekt: https://aptx.my-firewall.org:8081Über die Menüpunkte "Linke SB", bzw. "Rechte SB" öffnet sich die Sidebar nur, wenn ich mein bereits integriertes jQuery nochmals einbaue, verstehe aber nicht warum
Code
Alles anzeigen<!-- Sidebars --> <script src="/templates/joe/js/jui/jquery.min.js"></script> <b class="screen-overlay"></b> <!-- offcanvas panel --> <aside class="offcanvas" id="my_offcanvas1"> <header class="p-4 bg-light border-bottom"> <button class="btn btn-outline-danger btn-close"> × Close </button> <h6 class="mb-0">First offcanvas </h6> </header> <nav class="list-group list-group-flush"> <ul class="nav menu mod-list"> <li class="item-332"><a href="/de/" class="list-group-item">Home</a></li><li class="item-337"><a href="#" class="list-group-item">Inhalt 1.1</a></li><li class="item-338 deeper parent"><a href="#" class="list-group-item">Inhalt 2.1</a><ul class="nav-child unstyled small"><li class="item-342"><a href="#" class="list-group-item">Inhalt 2.1 unter</a></li></ul></li><li class="item-339"><a href="#" class="list-group-item">Inhalt 2.2</a></li><li class="item-340"><a href="#" class="list-group-item">Inhalt 3.1</a></li><li class="item-341"><a href="#" class="list-group-item">Inhalt 4.1</a></li></ul> </nav> </aside> <!-- offcanvas panel .end --> <!-- offcanvas panel right --> <aside class="offcanvas offcanvas-right" id="my_offcanvas2"> <header class="p-4 bg-light border-bottom"> <button class="btn btn-outline-danger btn-close"> × Close </button> <h6 class="mb-0">Second offcanvas </h6> </header> <nav class="list-group list-group-flush"> <a href="#" class="list-group-item">Home</a> <a href="#" class="list-group-item">About us</a> <a href="#" class="list-group-item">Menu name 1</a> <a href="#" class="list-group-item">Menu name 2</a> <a href="#" class="list-group-item">Menu name 3</a> </nav> </aside> <!-- offcanvas panel right .end -->Selbes jQuery kommt aber bereits mit den Template-Einstellungen, nur die Sidebar läuft dann nicht.
Danke schon mal für Eure Tipps, Joe
-
-
Ja - 2 Module gehen auch.
Habe mir eben Gedanken darüber gemacht das mit einem Modul elegant zu realisieren!
Im Prinzip geht´s ja darum dem Override mitzuteilen welche(n) Menüpunkt - vlt. mittels "class" - es in "UL float-left" setzen soll, der Rest mag ins "UL float-right"
Danke trotzdem
-
E Viola...
Hier der Link, ein Override ist bereits gemacht.
https://aptx.my-firewall.org:8081
Bootstrap 4 navbar integriert
-
Servus zusammen!
Ich suche nach einer Möglichkeit mittel Override den 1. Menüeintrag links, alle anderen Einträge recht anzuzeigen:
Meine Vorstellung wäre mittels zweier ul-Bereiche zu sortieren,
1. sortiere die gewünschten im ersten UL
PHP<ul class="navbar-nav mr-auto <?php echo $class_sfx; ?> mod-list"<?php echo $id; ?> > <?php foreach ($list as $i => &$item) { /// sortiere hier nur den ersten oder bestimmte Einträge $class = 'nav-item item-' . $item->id; if ($item->id == $default_id) { $class .= ' default'; } echo '<li class="' . $class . '">';und 2. den Rest im zweiten UL
PHP<ul class="navbar-nav ml-auto <?php echo $class_sfx; ?> mod-list"<?php echo $id; ?> > <?php foreach ($list as $i => &$item) { /// sortiere hier mit den anderen weiter $class = 'nav-item item-' . $item->id; if ($item->id == $default_id) { $class .= ' default'; } echo '<li class="' . $class . '">';Wie im Screenshot dargstellt sollte das "N" als Grafik rechts nicht mehr vorkommen, sondern nur links