Tutorial - Verlinkung zum Artikel im Modul nur für eingeloggte User


Hack, mit dem Gäste nur den Titel eines Artikels sehen, registrierte Mitglieder den Artikel durch einen Klick aufrufen können

Im Joomlaportal wurde angefragt, wie man das Modul "Latest News" für Joomla 1.5 umschreiben kann, damit Besucher den Titel zwar sehen, aber nicht anklicken können.

Das ist mit einer kleinen Abfrage des User-Status möglich. Das funktioniert zum Beispiel auch mit dem Modul "Most Read".

1. Datei default.php bearbeiten

Datei default.php unter /modules/mod_latestnews/tmpl/ öffnen. Zeilen:

<a href="/<?php echo $item->link; ?>" class="latestnews<?php echo $params->get('moduleclass_sfx'); ?>">
<?php echo $item->text; ?></a>

ändern in:

<?php
$user=&JFactory::getUser();
$gid=$user->get( 'gid' );
	if ( $user->get('gid') >= 18 ) { ?> 
<a href="/<?php echo $item->link; ?>" class="latestnews<?php echo $params->get('moduleclass_sfx'); ?>">
	<?php } ?>
<?php echo $item->text; ?>
	<?php if ( $user->get('gid') >= 18 ) { ?> 
	</a>
	<?php } ?>

Erläuterung:

Es findet eine einfach Abfrage statt, in welchem Zustand sich der Besucher befindet. Id 18 steht für registrierten Besucher. In der if-Abfrage wird geprüft, ob der Besucher mindestens die Stufe "registriert" hat. Ein Gast sieht nur den Titel, kann ihn jedoch nicht anklicken.

Statt den Userlevel explizit zu nennen, kann man einfach alle Gäste ausschließen (Danke geht an Some1new für den Hinweis):

if (!$user->guest) { ?> 

Die Gruppen ids können in der MySQL-Datenbank in der Tabelle jos_core_acl_aro_groups ausgelesen werden.

Damit wird nur die Verlinkung unterdrückt. Hat der Artikel die Zugriffsebene "Registriert", dann wird dem Gast der Titel nicht angezeigt. Handelt es sich um geschützte Artikel, dann eignet sich das Plugin Login to Read Full Text besser.

Zuletzt aktualisiert am Mittwoch, 14. März 2012 12:00

Copyright © 2005 - 2014 Kubik-Rubik.de - Viktor Vogel