1. IMPORTANT : Nouvelles mesures de sécurité - 2. Règles pour obtenir de l'aide dans les forums de support - 3. Restrictions des droits pour le groupe "Support suspendu"

Il est obligatoire de respecter les Règles de MyBB.fr : Version abrégée ou Version complète pour obtenir du support sur nos forums.

Les membres ayant un site/forum contrevenant aux règles de MyBB.support seront placés dans le groupe "Support suspendu" et ne bénéficieront plus du support du staff. Nous recommandons aux autres membres d'agir de même. Il ne s'agit pas d'un bannissement, le membre retrouvera son statut "normal" dès que sa situation sera conforme aux règles.

Nouveau : un Wiki en français : plus de détails.
Avant de soumettre votre problème, consultez-le, ainsi que la FAQ, sans oublier le moteur de recherche interne.


Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Créer un second portail
Mots-clés » créer, second, portail
17-11-2013, 10:50,
#1
Créer un second portail

Bonjour, mon problème est assez compliqué à réaliser je pense, c'est pourquoi je fais appel à vous en espérant avoir une réponse.. :)

Ce que j'aimerais faire, c'est réaliser une seconde page de portail (portal.php) qui reprend uniquement les sujets d'un seul forum et les affiche sur la page. Etant donné que sur mon site j'ai déjà défini dans les paramètres que mon portail doit reprendre les posts du forum à l'id numéro 5, lorsque je duplique la page portal.php (je la mets sur mon hébergeur avec un autre nom comme par exemple "portal2.php"), bien évidemment je tombe sur une page portal2.php exactement comme la page portal.php qui reprend les posts du forum à l'id 5.

J'aimerais que ma page portal2.php reprennent les posts d'un nouveau forum sans reprendre les posts du forum à l'id 5 donc forcément, je ne peux pas compter sur les paramètres de portail pour changer cela.

J'ai analyser le contenu de "portal.php" et j'observe ceci à partir de la ligne 374:
Code PHP :
if(!empty($mybb->settings['portal_announcementsfid']))
{
    
// Get latest news announcements
    // First validate announcement fids:
    
$announcementsfids explode(','$mybb->settings['portal_announcementsfid']); 

Je pense que c'est "$mybb->settings['portal_announcementsfid']))" qu'il faut remplacer par quelque chose d'autre pour indiquer à ce nouveau portail de reprendre les posts d'un nouveau forum, j'ai testé avec le forum à l'id 4 et j'ai essayé plusieurs choses tel que "$announcement['fid']]['canview'] == 4" mais je n'arrive désespérément pas à faire afficher les posts du forum à l'id 4...

Seriez vous que mettre à la place de cette ligne pour faire afficher les posts d'un nouveau forum à la place de celui défini dans les paramètres?
Merci d'avance. :)

[Image: 1.jpg]
Répondre
17-11-2013, 15:22,
#2
RE: Créer un second portail
Finalement après quelques nouveaux tests, j'ai réussi à résoudre mon problème et à afficher les topics d'un nouveau forum sur un nouveau portail sans y voir les sujets du forum défini dans les paramètres de portail. Puisque je suis là, si d'autres personnes sont dans le même cas que moi, voici ce que j'ai fait pour afficher les sujets d'un nouveau forum sur un nouveau portail:

J'ai simplement copier le contenu de la page "portal.php" sur une nouvelle page "portal2.php" et sur la ligne 383 à "intval($fid)", j'ai remplacé le "$fid" par l'id du forum voulu et le résultat donne un nouveau portail avec les mêmes paramètres que le principal, la seule différence est les sujets qui sont affichés. Smile

[Image: 1.jpg]
Répondre
21-11-2013, 20:49,
#3
RE: Créer un second portail
Correction: J'étais très heureux d'avoir mon second portail mais j'ai découvert un nouveau problème en l'exploitant, malgré que les topics d'un nouveau forum s'affiche sur ce nouveau portail, les topics du/des forum(s) défini(s) par défaut dans les paramètres du portail par défaut sont également repris! (Je me suis donc trompé en disant que ce n'était pas le cas plus haut)

Donc je tiens à partager ma résolution pour ceux que ça intéresse! Smile En plus de la modification apporté à la ligne 383, il faut également modifier la ligne 378. Le code qui reprend les topics du/des forum(s) défini(s) par défaut dans les paramètres du portail par défaut est "$mybb->settings['portal_announcementsfid']". J'ai tout essayé et j'ai enchaîné erreurs sur erreurs, j'ai même essayé de l'enlever complètement mais cela cause une erreur avec la base de données. Alors plutôt que de chercher plusieurs heures à tout recoder, j'ai simplement remplacer dans ce code le "portal_announcementsfid" par "null". Je sais bien que c'est logiquement une erreur dans le codage car je "corrompt" un peu le code mais quand j'accède à ma page, je peux remarquer que MyBB ignore l'erreur tout simplement! Smile

Donc voilà, grâce à cela, maintenant mon nouveau portail reprend uniquement les topics des forums que j'ai défini et ignore ceux des paramètres, les intéressés pourront faire de même! Smile

[Image: 1.jpg]
Répondre
21-11-2013, 21:04,
#4
RE: Créer un second portail
Bonsoir Phoetrix.

Il suffit de changer toutes les occurrences de $mybb->settings['portal_announcementsfid'] par l'ID du forum souhaité.
Vous devriez alors obtenir un code correct qui se comporte comme vous le souhaitez.

N'hésitez pas à me signaler si cela ne fonctionne pas, car je ne l'ai pas testé.

Bonne soirée.

Cordialement,
Saphir,
Modérateur MyBB.support.
Répondre
21-11-2013, 21:59, (Modification du message : 21-11-2013, 22:08 par Phoetrix.)
#5
RE: Créer un second portail
Bonsoir Saphir, j'ai remplacer les 4 "$mybb->settings['portal_announcementsfid']" que j'ai trouvé par mon id de forum souhaité mais ma page m'a malheureusement retourné une erreur de code php.

C'est aussi étrange car en ayant testé ce que vous m'avez demandé et en ayant vu que cela n'a pas marché, j'ai rétabli mon code comme je l'ai décrit dans mon troisième message et je me suis de nouveau retrouvé dans le même problème décrit dans mon premier paragraphe sur mon troisième message, même avec mon code "$mybb->settings['null']"! Je trouve que l'informatique est parfois bien étrange mais soit...

J'ai songé à une nouvelle solution que je viens de tester, qui fonctionne à merveille et cela ne corrompt pas vraiment le code MyBB cette fois-ci, je le "dupe" juste un peu. Wink
Dans la configuration du portail au premier paramètre "ID du forum pour récupérer les annonces", j'ai remplacé mon id par "99". (pour les intéressés, si vous avez créé minimum 99 forums sur votre MyBB, qu'ils aient été supprimés ou qu'ils existent encore, je vous conseille de choisir un chiffre plus grand! Wink )

En ayant changé ceci, le code "$mybb->settings['portal_announcementsfid']" va vouloir récupérer les topics d'un forum à l'id "99" qui n'existe pas. Après cela, il suffit simplement d'appliquer la modification que j'ai indiqué dans mon deuxième message à la ligne 383 pour chacune de vos pages de portails et tout fonctionnera parfaitement! Smile

Un petit conseil aussi aux intéressés, ne surtout pas laisser le premier champ vide dans la configuration du portail! Vous devez impérativement mettre un id de forum! Si vous laissez vide, le code "$mybb->settings['portal_announcementsfid']" ne s'activera pas et par conséquent, le code de la ligne 383 contenant votre id de forum non plus!

Ceci dit, je pense que ce problème est définitivement résolu, merci également pour l'aide que vous avez essayé de m'apporter Saphir, au moins cela m'aura permis de résonner différemment pour régler "correctement" le cadet de mes soucis! Bonne soirée! Smile

[Image: 1.jpg]
Répondre
22-11-2013, 1:49,
#6
RE: Créer un second portail
(21-11-2013, 21:59)Phoetrix a écrit :  j'ai remplacer les 4 "$mybb->settings['portal_announcementsfid']" que j'ai trouvé

Je n'en trouve que deux sur mon installation (lignes 74 et 371)...
Je vous invite à repartir du fichier d'origine et réessayer si vous le souhaitez.

Bonne soirée.

Cordialement,
Saphir,
Modérateur MyBB.support.
Répondre




Utilisateur(s) parcourant ce sujet : 3 visiteur(s)

Contact | MyBB.support | Retourner en haut | Retourner au contenu | Version bas-débit (Archivé) | Syndication RSS
 Utilitaire de traduction fourni par Regentronique