problème avec fuction.php et joomla 1.6

fsa
Petit nouveau ! | 1 Messages

08 avr. 2011, 09:19

Bonjour,

J'ai travaillé sur une charte graphique avec Artisteer 3, vous allez me dire pas étonnant qu'il y ait des erreurs. :P
En fait j'ai une erreur lorsque mon site joomla tente d'afficher un article, il me renvoi l'erreur suivante :

Fatal error: Cannot access protected property ContentViewArticle::$params in /web/monsite/www/templates/charte_ok/functions.php on line 128

Dans le fichier Php j'ai ceci, la ligne en gras correspondant à la ligne 128 :

function artxPageTitle($page, $criteria = null, $key = null)
{
if ($criteria === null)
$criteria = $page->params->def('show_page_title', 1);
return $criteria
? ('<span class="componentheading' . $page->params->get('pageclass_sfx') . '">'
. $page->escape($page->params->get($key === null ? 'page_title' : $key)) . '</span>')
: '';
}

Les cours de php sont loin pour moi, et là je dois dire que je sèche complet.
Avez-vous une idée quelconque du problème ?

D'avance merci pour votre aide.
Flo

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

08 avr. 2011, 19:16

Salut,

Le message et clair tu ne peut utiliser directement params depuis l'extérieur de la classe ContentViewArticle, car celle si "protégée".

En php tu a 3 possibilités pour la portée d'une méthode / variables de classe :
- public accessible de partout (intérieur et extérieur de la classe)
- private : seulement accessible depuis la classe concernée (et seulement celle ci tu ne pourra y acceder depuis uen classe fille par exemple).
- Protected : c'est du private mais avec la possibilité d'accès depuis une classe fille.
Dans ton cas la méthode params est protégée donc utilisable seulement dans la classe ou une classe fille.

Pour l'utiliser il va te falloir créer une classe qui hérite de ContentViewArticle et dont tu créer un assesseur spécifique :)

@+
Il en faut peu pour être heureux ......

azamat
Invité n'ayant pas de compte PHPfrance

04 juil. 2011, 13:05

Salut, j'ai exactement le même problème.

Pouvez vous m'aider pour le code pour créer une classe qui hérite de ContentViewArticle ?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

04 juil. 2011, 13:11

salut,

si la classe hérite de ContentViewArticle tu ne peux avoir le même problème, c'est d'ailleur la différence entre private et protected que j'ai expliqué dans mon précédent message,le fait qu'il n'y ai pas eu de réponse de l'autre du message indique qu'il a surement trouver une solutionavec ma réponse, ........ ou pas :wink:

je te conseil de créer une nouvelle question, a toi ;) , avec les éventuelles messages d'erreurs et le code qui te pose soucis.

j'ajouterais qu'il existe des forums sur joomla en français (il me semble) qui seront plus a même que nous de t'expliquer le fonctionnement de celui ci et de t'aider efficacement. Perso je ne connais pas ce cms et ne pourrait t'aider que sur la cohérence du code phpp et la logique qui va autour (mais celle ci sera peut etre contraire a la philosophie de joomla ?

il me semble aussi qu'il existe des version plus récente, être que tu peux te tourner vers elle pour voir si ce que tu souhaite n'existe pas déja sous forme native ou de plugins ? (ou alors j'me goure c'est possible aussi :mrgreen: )

@+
Il en faut peu pour être heureux ......

azamat
Invité n'ayant pas de compte PHPfrance

04 juil. 2011, 13:45

Merci pour votre réponse, je vais essayer de voir sur le support de joomla.

cordialement.