$Itemid przekazywałem jeszcze przed opisaniem problemu, ale przy wywołaniu funkcji z komponentu otrzymywałem komunikat:
"Treść którą chcesz zobaczyć nie istnieje. Proszę wybrać inny element z nawigacji"
Dla przykładu plik x.php
Kod:
require_once( $mainframe->getPath( 'front_html' ) );
switch( $task ) {
case 'new':
HTML_carmart::nowe($option, $Itemid);
break;
default:
HTML_carmart::brak($option, $Itemid);
break;
Plik x.html.php
Kod:
class HTML_carmart {
function brak($option, $Itemid) {
...
<form action="index.php" method="post" name="adminForm">
<div class="carmart_menu" align="right">
<?php
mosMenuBar::startTable();
mosMenuBar::addNew('new', 'Nowe');
mosMenuBar::editList('edit', 'Edytuj');
mosMenuBar::publish('publish');
mosMenuBar::unpublish('unpublish');
mosMenuBar::deleteList( ' ', 'delete', 'Usuń' );
mosMenuBar::endTable();
?>
</div>
<input type="hidden" name="option" value="<?php echo $option;?>"/>
<input type="hidden" name="option" value="<?php echo $Itemid;?>"/> // poprawione na Itemid
<input type="hidden" name="task" value="new" />
</form>
<?php
}
function nowe($option, $Itemid) {
?>
<div class="carmart_menu" align="right">
<?php
mosMenuBar::startTable();
mosMenuBar::addNew('new', 'Nowe');
mosMenuBar::editList('edit', 'Edytuj');
mosMenuBar::publish('publish');
mosMenuBar::unpublish('unpublish');
mosMenuBar::deleteList( ' ', 'delete', 'Usuń' );
mosMenuBar::endTable();
...