Page 1 of 1

lien "lire la suite" sur texte introduction

Posted: Wed Oct 24, 2007 2:28 pm
by coolbens
Bonjour,

J'aimerais, en plus du lien "lire la suite", avoir le même lien sur le texte d'introduction de mon article.

Comment faire ?

Merci de votre aide

Re: lien "lire la suite" sur texte introduction

Posted: Wed Oct 24, 2007 2:55 pm
by infograf768
"sur" ?
Vous voulez sans doute dire au-dessus.

Si c'est le cas, éditer le fichier
components/com_content/content.html.php

autour de la ligne 516, ajoutez les lignes en rouge
// displays Created Date
HTML_content::CreateDate( $row, $params );
// lien lire-la-suite supplémentaire
HTML_content::ReadMore( $row, $params );


// displays Urls

Re: lien "lire la suite" sur texte introduction

Posted: Wed Oct 24, 2007 3:06 pm
by coolbens
Non non. Ce que j'aimerais c'est qu'en cliquant sur le texte d'introduction (en affichage type blog d'une catégorie), j'accède à mon article, comme quand je clique sur "lire la suite" (et j'aimerais garder aussi le "lire la suite", mais c'est un détail ça.

Re: lien "lire la suite" sur texte introduction

Posted: Wed Oct 24, 2007 3:41 pm
by infograf768
Ça serait bien plus complexe...

Il faudrait éventuellement une image de fonds derrière l'intro avec un lien vers l'article complet.

Il faudrait créer un plugin ad-hoc.

Re: lien "lire la suite" sur texte introduction

Posted: Wed Oct 24, 2007 3:57 pm
by dec

Re: lien "lire la suite" sur texte introduction

Posted: Wed Oct 24, 2007 4:21 pm
by infograf768
Ce bot ne me plait pas.
L'ensemble du texte devient un hyperlink.
Donc, pas de liens dans le texte.

Ensuite, le commentaire de frodon me parait tout à fait juste.
Frodon46: et les critères accessiweb ?
...et si on jaugeait cette fonction (intro cliquable) au vu des critères accessiweb (http://www.accessiweb.org), qui sont reconnus en France comme la référence en terme d'accessibilité des sites ?
D'après le critère 6.1 il faut éviter des intitulés de liens supérieurs à 80 caractères (espaces compris)...
Alors pour des intro !
Enfin, il s'applique globalement et non au cas par cas.

Re: lien "lire la suite" sur texte introduction

Posted: Wed Oct 24, 2007 4:35 pm
by dec
Tout à fait d'accord avec toi pour l'accessibilité.
Mais bon, si c'est ce dont il a besoin. Ce soir, je ne suis pas contrariant. :pop

Re: lien "lire la suite" sur texte introduction

Posted: Wed Oct 24, 2007 5:02 pm
by yatoula
C'est sur que 80 caractères ou moins pour une intro c'est pas lourd, mais ça peu suffit des fois.  :pop Moi aussi je commence a avoir faim...

Re: lien "lire la suite" sur texte introduction

Posted: Wed Oct 24, 2007 5:13 pm
by coolbens
Oui, c'est ce qu'il me fallait, merci !

Autour du sujet de l'accessibilité, je voulais attirer votre attention sur un point.
Il est sûr qu'un lien uniquement sur le titre d'un article est a priori plus logique, plus dans la philosophie web, beaucoup plus d'ailleurs qu'un lien "lire la suite".
Par contre, le web pose une contrainte éditoriale importante : le titre d'un article peut être informatif, type Le Monde, mais il est beaucoup plus agréable qu'il soit l'objet d'un jeu de mots, d'un travail littéraire, en gros qu'il fasse preuve d'esprit.
Or dans ce cas-là, le contenu même du titre ne sera pas en lien direct (ou logique ou mathématique ou automatique) avec le contenu de l'article.
Souvent le web bride la créativité éditoriale car il doit être efficace, doit répondre à des logiques de robot pour convenir aux moteurs de recherche.
Voilà c'était juste une petite réflexion :-)

Pour en revenir à nos moutons, le mambot "intro cliquable" me pose un problème avec un module (newsflash), et m'en posera a priori d'autres car il s'applique sans distinction à toutes les intro (sauf exceptions).
Le module newsflash permet d'afficher uniquement des intro, or je l'utilise pour afficher des intro non cliquable, car sans article derrière.
Bref ! Je pense que la meilleure solution est d'adapter ce module pour qu'il m'affiche des intro non cliquables.

Pouvez-vous m'aider ? Voici le code du module :

Code: Select all

<?php
defined( '_VALID_MOS' ) or die( 'Restricted access' );
require_once( $mainframe->getPath( 'front_html', 'com_content') );

if (!defined( '_JOS_NEWSFLASH_MODULE' )) {
	/** ensure that functions are declared only once */
	define( '_JOS_NEWSFLASH_MODULE', 1 );
	
	function output_newsflash( &$row, &$params, &$access ) {	
		global $mainframe;
		
		$row->text = $row->introtext;
		$row->groups 	= '';
		$row->readmore 	= (trim( $row->fulltext ) != '');		
		$row->metadesc 	= '';
		$row->metakey 	= '';
		$row->access 	= '';
		$row->created 	= '';
		$row->modified 	= '';	

		HTML_content::show( $row, $params, $access, 0 );
	}
}

global $my, $mosConfig_shownoauth, $mosConfig_offset, $mosConfig_link_titles, $acl;

// Disable edit ability icon
$access = new stdClass();
$access->canEdit 	= 0;
$access->canEditOwn = 0;
$access->canPublish = 0;

$now 				= _CURRENT_SERVER_TIME;
$noauth 			= !$mainframe->getCfg( 'shownoauth' );
$nullDate 			= $database->getNullDate();

$catid 				= intval( $params->get( 'catid' ) );
$items 				= intval( $params->get( 'items', 0 ) );
$style 				= $params->get( 'style', 'flash' );
$moduleclass_sfx    = $params->get( 'moduleclass_sfx' );
$link_titles		= $params->get( 'link_titles', $mosConfig_link_titles );

$params->set( 'intro_only', 		1 );
$params->set( 'hide_author', 		1 );
$params->set( 'hide_createdate', 	0 );
$params->set( 'hide_modifydate', 	1 );
$params->set( 'link_titles', 		$link_titles );

// query to determine article count
$query = "SELECT a.id, a.introtext, a.fulltext , a.images, a.attribs, a.title, a.state"
."\n FROM #__content AS a"
."\n INNER JOIN #__categories AS cc ON cc.id = a.catid"
."\n INNER JOIN #__sections AS s ON s.id = a.sectionid"
."\n WHERE a.state = 1"
. ( $noauth ? "\n AND a.access <= " . (int) $my->gid . " AND cc.access <= " . (int) $my->gid . " AND s.access <= " . (int) $my->gid : '' )
."\n AND (a.publish_up = " . $database->Quote( $nullDate ) . " OR a.publish_up <= " . $database->Quote( $now ) . " ) "
."\n AND (a.publish_down = " . $database->Quote( $nullDate ) . " OR a.publish_down >= " . $database->Quote( $now ) . " )"
."\n AND a.catid = " . (int) $catid
."\n AND cc.published = 1"
."\n AND s.published = 1"
."\n ORDER BY a.ordering"
;
$database->setQuery( $query, 0, $items );
$rows = $database->loadObjectList();

$numrows = count( $rows );

// check if any results returned
if ( $numrows ) {
	switch ($style) {
		case 'horiz':
			echo '<table class="moduletable' . $moduleclass_sfx .'">';
			echo '<tr>';
			foreach ($rows as $row) {
				echo '<td>';			
				output_newsflash( $row, $params, $access );			
				echo '</td>';
			}
			echo '</tr></table>';
			break;
	
		case 'vert':
			foreach ($rows as $row) {
				output_newsflash( $row, $params, $access );
			}
			break;
	
		case 'flash':
		default:
			srand ((double) microtime() * 1000000);
			$flashnum = rand( 0, $numrows-1 );
			$row = $rows[$flashnum];
			
			output_newsflash( $row, $params, $access );
			break;
	}
}
?>