ich habe ein fortgeschrittenes problem und hoffe, ich kann es verständlich formulieren:
ich will das modul sectionnav (das, so wie ich es einsetze, eine navigations-liste mit allen content items innerhalb einer kategorie xy ausgibt) als menu einsetzen, das auf allen content items innerhalb einer kategorie erscheint. der user der seite (ein online-magazin) soll wählen können, ob er sich durch eine kategorie (zB musik - neuerscheinungen) mit der "content item navigation" blättern will, oder gleich per modul "sectionnav" zu dem content item (artikel) springt, der ihn interessiert.
meine vorgehensweise:
- ich sage dem modul "sectionnav", dass es auf dem Menulink xy, der die kategorie xy als blog anzeigt, erscheinen soll.
- ich aktiviere "pagination" und "content item navigation", so dass ich mit den "weiter" und "zurück" buttons bequem durch alle content items einer kategorie komme.
-> das modul "sectionnav" wird auf allen items innerhalb dieser kategorie angezeigt, solange ich mit "zurück" und "weiter" navigiere.
- wenn ich aber über mein modul "sectionnav" navigieren will, komme ich direkt zu dem content item, und das modul sectionnav verschwindet.
=> die beiden funktionen "zurück"/"weiter" und mein modul "sectionnav" arbeiten über verschiedene links.
Ich muss also im modul "sectionnav" die ausgabe des links derjenigen von "zurück"/"weiter" angleichen. aber wie

?
So wird der link für die "content item navigation" generiert, wenn ich das alles richtig verstehe (bin ziemlicher Laie...):
Code:
/**
* Writes Next & Prev navigation button
*/
function Navigation( &$row, &$params ) {
global $task;
$link_part = 'index.php?option=com_content&task=view&id=';
// determines links to next and prev content items within category
if ( $params->get( 'item_navigation' ) ) {
if ( $row->prev ) {
$row->prev = sefRelToAbs( $link_part . $row->prev . $row->Itemid_link );
} else {
$row->prev = 0;
}
if ( $row->next ) {
$row->next = sefRelToAbs( $link_part . $row->next . $row->Itemid_link );
} else {
$row->next = 0;
}
}
if ( $params->get( 'item_navigation' ) && ( $task == 'view' ) && !$params->get( 'popup' ) && ( $row->prev || $row->next ) ) {
?>
<table align="center" style="margin-top: 25px;">
<tr>
<?php
if ( $row->prev ) {
?>
<th class="pagenav_prev">
<a href="<?php echo $row->prev; ?>">
<?php echo _ITEM_PREVIOUS; ?>
</th>
<?php
}
if ( $row->prev && $row->next ) {
?>
<td width="50">
</td>
<?php
}
if ( $row->next ) {
?>
<th class="pagenav_next">
<a href="<?php echo $row->next; ?>">
<?php echo _ITEM_NEXT; ?>
</th>
<?php
}
?>
</tr>
</table>
<?php
}
und so in meinem modul "sectionnav":
Code:
$href = sefRelToAbs("index.php?option=com_content&task=view&id=$id" . $Itemid);
echo '<li class="sectionnav"><br/>'; # content level
if ($qid == $id && $task == 'view') {
echo no_link($title);
} elseif ($use_accesskeys) {
echo access_link($title, $href, $accesskeys);
} else {
echo normal_link($title, $href);
}
Kann man das angleichen, dh im Modul Sectionnav die Links so ausgeben, dass sie dieselben sind, wie in der Funktion "zurück"/"weiter"?
[size=60:13pswgei]Edit by ghosty, code Tags korrigiert[/size]