menu topics

Permalink
Hello, for some time, my menu topics no longer works ...
What should I do ?

http://fabriqueamusique.fr/orchestres...

 
mnakalay replied on at Permalink Reply
mnakalay
Bonjour,
qu'est-ce que tu veux dire par "menu topics"? Et qu'est-ce qui se passe exactement?
fabriqueamusique replied on at Permalink Reply
Super, je peux parler en français ...
J'utilise le blog pour faire un annuaire et depuis que j'ai mis à jour, la liste des sujets ne marche plus.
Idem pour un autre sitehttp://marcflamion.fr/partitions-accueil....
Je me demande ce que je dois faire.
Merci pour ta réponse.
A+
Marc
mnakalay replied on at Permalink Reply
mnakalay
Oui je vois tous les liens mènenet à un 404.
Tu utilises quel block exactement? le block "topic list" officiel?
mnakalay replied on at Permalink Reply
mnakalay
Je viens de verifier et je confirme il semblerait que ce soit un probleme avec la nouvelle version 5.75.10. J'ai le meme problem sur une installation toute fraiche
mnakalay replied on at Permalink Best Answer Reply
mnakalay
Le problème a été corrigé temporairement, tu peux voir le correctif ici:https://github.com/concrete5/concrete5/commit/e3b0e8bee7e56ca192b682...

Il s'agit de modifier le fichier concrete/src/Block/BlockController.php (dans ton cas comme c'est une mise à jour tu cherches dand le dossier "updates"

Aux alentours de la ligne 484 tu verras
$bID = array_pop($parameters);
if ((is_string($bID) || is_int($bID)) && $bID == $this->bID) {
    return true;
}

tu effaces tout ça et tu remplaces par
return true;
fabriqueamusique replied on at Permalink Reply
J'ai fait le changement mais je tombe sur un message :

syntax error, unexpected 'return' (T_RETURN), expecting function (T_FUNCTION)
fabriqueamusique replied on at Permalink Reply
comme je ne suis pas spécialiste, j'avais :
}
if (is_callable(array($this, $method))) {
$r = new \ReflectionMethod(get_class($this), $method);
if (count($parameters) - $r->getNumberOfParameters() <= 1) {
// how do we get <= 1? If it's 1, that means that the method has one fewer param. That's ok because
// certain older blocks don't know that the last param ought to be a $bID. If they're equal it's zero
// which is best. and if they're greater that's ok too.
// Now let's see if the action is for this block instance
$bID = array_pop($parameters);
if ((is_string($bID) || is_int($bID)) && $bID == $this->bID) {
return true;
}

Et j'ai mis :

}
if (is_callable(array($this, $method))) {
$r = new \ReflectionMethod(get_class($this), $method);
if (count($parameters) - $r->getNumberOfParameters() <= 1) {
// how do we get <= 1? If it's 1, that means that the method has one fewer param. That's ok because
// certain older blocks don't know that the last param ought to be a $bID. If they're equal it's zero
// which is best. and if they're greater that's ok too.
// Now let's see if the action is for this block instance
return true;
}
mnakalay replied on at Permalink Reply
mnakalay
l'accolade } que tu as laissé juste après
return true;

est en trop. Efface la.
fabriqueamusique replied on at Permalink Reply
J'ai plus le message d'erreur mais la liste des sujets ne marche toujours pas.
mnakalay replied on at Permalink Reply
mnakalay
j'ai testé et ça marche.

As-tu modifié le fichier dans le dossier "updates"?

Avec le chemin que je t'ai donné ca doit être sous updates/concrete5.7.5.10/concrete/src/Block/Blockcontroller.php

Et as-tu vidé le cache après coup?
fabriqueamusique replied on at Permalink Reply
Oui j'ai purgé toujours pareil.

mon chemin c'est :

ftp://fabriquexi@ftp.cluster007.ovh.net/www/updates/concrete5.7.5.10_remote_updater/concrete/src/Block/BlockController.php

Je te mets mon code :

}
if (is_callable(array($this, $method))) {
$r = new \ReflectionMethod(get_class($this), $method);
if (count($parameters) - $r->getNumberOfParameters() <= 1) {
// how do we get <= 1? If it's 1, that means that the method has one fewer param. That's ok because
// certain older blocks don't know that the last param ought to be a $bID. If they're equal it's zero
// which is best. and if they're greater that's ok too.
// Now let's see if the action is for this block instance
}
}

A partir de how ... c'est en vert
mnakalay replied on at Permalink Reply
mnakalay
juste après (en dessous sur une nouvelle ligne):
// Now let's see if the action is for this block instance

tu ajoutes:
return true;
fabriqueamusique replied on at Permalink Reply
Super !!!
Je vais changer sur l'autre merci !
fabriqueamusique replied on at Permalink Reply
J'ai eu peur, ça ne marchait pas sur l'autre site ... Mais tout va bien j'avais oublié une parenthèse ... Merci encore !
mnakalay replied on at Permalink Reply
mnakalay
C'est vrai que ça fait peur quand ça arrive, le petit truc qui manque et tout foire.

Heureux de voir que ça fonctionne maintenant.

N'hésite pas si tu as besoin d'autre chose.