Versuch die Rechte Plug in Navigation(Plugins und Module) in eine moderne Navigation zu packen

Hast du Probleme Admidio einzurichten? Hier kannst du Fragen rund um die Einrichtung stellen.
Antworten
noob
Beiträge: 20
Registriert: 15. Sep 2016, 19:47

Versuch die Rechte Plug in Navigation(Plugins und Module) in eine moderne Navigation zu packen

Beitrag von noob »

Sehr geehrte Admidio Community,
Ich würde gerne eine horizontale Navigationsleiste implementieren in der man dann Plugins und Module auswählen kann.
Aus der Doku habe ich rauslesen können das ich Änderungen dies betreffend in der my_body_top.php durchführen muss.
Deswegen habe ich die Plugin Liste aus der my_body_bottom entnommen.

Wenn ich nun aber nun folgendes in der my_body_top.php versuche:

Code: Alles auswählen

        <div class="col-md-3">               
                <!--<div id="plugin_menu" class="admidio-plugin-content">-->
					<div class="container">
						<ul id="nav">				
								<?php
									// Module Menu
									$moduleMenu = new Menu('modules', $gL10n->get('SYS_MODULES'));
								?>
						</ul> <!-- closes NAV Ul-->
					</div> <!-- closes "div.classcontainer" -->
          </div> <!-- closes "coll-md-3r" -->
Wird ein Menu Tag dynamisch erzeugt und alle <li> die ich gerne zwischen meine <ul id="nav">haben würde, sind somit dort drinnen und mein div bzw meine Liste ist leer.
<menu id="menu_modules" class="list-unstyled admidio-menu btn-group-vertical">

Ich habe auch versucht einfach die "echo $adminMenu->show()" Line folgenderweise zu verwenden:

Code: Alles auswählen

<div class="container">
	<ul id="nav">
		<li><a href="#">Home</a></li>					
			<?php
				echo $adminMenu->show();
				};
			?>
	</ul> <!-- closes NAV Ul-->
</div> <!-- closes "div.classcontainer" -->
... jedoch hat dies Leider acuh nicht funktioniert. Die Divs werden dabei komplett ignoriert.

Gäbe es vielleicht eine Möglichkeit die li Elemente vom<menu> zwischen mein <ul id="nav"> zu bekommen?

Danke für durchlesen
MfG
noob
noob
Beiträge: 20
Registriert: 15. Sep 2016, 19:47

Re: Versuch die Rechte Plug in Navigation(Plugins und Module) in eine moderne Navigation zu packen

Beitrag von noob »

Ich bin schon etwas weiter gekommen mit meinem Problem..
Glaube ich zumindest ._.
Ich habe mir die https://www.admidio.org/dokusource/class_html_list.html durchgelesen
und nun erzeuge ich dynamisch meine Liste. Ich hätte jedoch gern in jedem einzelnen dieser li tags ein ahref link zu den einzelnen Modulen. Dafür habe ich mir folgendes durchgelesen:
https://www.admidio.org/dokusource/clas ... ement.html

Wenn ich jedoch nun dies Umsetze kommt bei mir folgende Fehlermeldung:
Cannot access parent:: when current class scope has no parent in

Mein Code schaut folgenderweise aus:

Code: Alles auswählen

<?php
$listModule = new HtmlList('ul', 'nav', 'class');
if($gPreferences['enable_announcements_module'] == 1
|| ($gPreferences['enable_announcements_module'] == 2 && $gValidLogin))
{
	parent::HtmlElement();
	HtmlElement::addElement('a');
	HtmlElement::addAttribute('href', '/adm_program/modules/announcements/announcements.php');
	HtmlElement::addData( $gL10n->get('ANN_ANNOUNCEMENTS'));
	$hyperlink = HtmlElement::getHtmlElement();
									
	$listModule->addListItem('Item_1', $hyperlink);	
}
?>
//weiter im Code geb ich es dann folgender weiße aus
<div class="container">
						<ul id="nav">
							
								<?php
								echo $moduleMenu->show();//zeigt alle Module an
								echo $listModule->getHtmlList();
								?>
						</ul><!-- closes ul id nav -->
</div> <!-- CLOSES div containe rclass -->
Ich würde mich wirklich sehr freuen wenn mir jemand helfen könnte.
Danke fürs durchlesen

MfG noob
XimeX
Developer
Beiträge: 1148
Registriert: 12. Jul 2015, 13:21
Wohnort: Austria

Re: Versuch die Rechte Plug in Navigation(Plugins und Module) in eine moderne Navigation zu packen

Beitrag von XimeX »

Wenn ich das richtig sehe verwendest du hier statische methoden (::). In der Klasse HtmlElement sind die methoden aber nicht statisch. Du musst hier "HtmlElement->addAttribute()" etc nehmen. Also statt die "::" den Pfeil "->".
Wo kommt bei dir überhaupt "parent" her?
noob
Beiträge: 20
Registriert: 15. Sep 2016, 19:47

Re: Versuch die Rechte Plug in Navigation(Plugins und Module) in eine moderne Navigation zu packen

Beitrag von noob »

Danke für die Antwort!:)
Sorry ich bin noch Anfänger was das Programmieren mit PHP betrifft.
Ich hätte einfach gerne eine Liste mit einer verlinkung zu den Modulen für meine Nav:

Code: Alles auswählen

<ul>
 <li><a href=""></a></li>
</ul>
 
Dies habe ich folgenderweise versucht:
$listModule = new HtmlList('ul', 'nav');
$listModule->addElement('a');
$listModule->addAttribute('href', '/adm_program/modules/announcements/announcements.php');
$listModule->addData($gL10n->get('ANN_ANNOUNCEMENTS'));
									
$hyperlink = HtmlElement->getHtmlElement();
$listModule->addDataList();
$listModule->addInline('a href', '', '', 'bla');
$listModule->addListItem('',$gL10n->get('ANN_ANNOUNCEMENTS'));	
Leider funktioniert dies aber so nicht :( :(
Weiß jemand woran das liegen könnte?

Mit freundlichen Grüßen
noob
XimeX
Developer
Beiträge: 1148
Registriert: 12. Jul 2015, 13:21
Wohnort: Austria

Re: Versuch die Rechte Plug in Navigation(Plugins und Module) in eine moderne Navigation zu packen

Beitrag von XimeX »

Hallo,
Das müsste "in etwa" so aussehen:

Code: Alles auswählen

$list = new HtmlList('ul', 'myId');

// Als array:
$linkArray = array('LinkName' => 'http://www.example.com', ...);
foreach ($linkArray as $name => $url) {
    $list->addListItem('myLinkId-' . $name, '<a href="' . $name . '">' . $url . '</a>');
}
// ODER einzeln:
$list->addListItem('myLinkId1', '<a href="https://www.example.org">ExampleOrg</a>');
$list->addListItem('myLinkId2', '<a href="https://www.example.com">ExampleCom</a>');
$list->addListItem('myLinkId3', '<a href="https://www.example.net">ExampleNet</a>');

$list->getHtmlList();
Mein Fehler war noch:
"HtmlElement" ist eine abstrakte klasse. Davon kann man kein Objekt erstellen. Dafür muss man dann ein Kind-Klasse verwenden
Antworten