Jump to content
InvisionCommunity.de - Der Deutsche Invision Community Support
Musika

Frage zur Forum-Hierarchie mit IP-Content

Recommended Posts

Zur Zeit habe ich nur zwei Konzepte gefunden, wie man IP.Content und das Forum in eine Seite einbindet. Die erste ist jene wie hier, wo das Forum als Subdomain läuft. Die zweite ist jene, wo das Forum unter einerm weiteren Ordner läuft wie zum Beispiel /content/forum.

Ich würde gerne IP.Contetn als Startseite haben unter {domain}, dabei die Forumstartseite auf {domain}/forum laufen lassen und alle anderen Foren-URL "nicht" in diese Ebene verschieben, sondern wie zuvor belassen wollen, also {domain}/forum/{Kategorie}/ oder {domain}/topic/{Thema}/ usw.

Ist diese Struktur realisierbar?

Edited by Musika

Share this post


Link to post

Wenn du IP.Content und das Forum im selben Ordner nutzen willst, musst du im Grunde nur IP.Content zur "Startseite" machen (wurde schon mal erklärt). Hier gibt es auch ein entsprechendes Thema im englischsprachigen Forum dazu sowie hier ein "offizielles Tutorial".

Share this post


Link to post

Danke, denn obwohl ich einige der Quellen schon durchgelesen hatte, ist es mir noch nicht so ganz klar geworden, ob dies so umgesetzt werden kann. Werde mir dann mal das Paket holen und damit ein wenig herumspielen :)

Share this post


Link to post

Habe nun constants.php mit "<?php define( 'IPS_DEFAULT_PUBLIC_APP', 'ccs' ); ?>" erstellt, aber das Ergebnis ist nicht jenes, welches ich zu Anfang beschrieben hatte.

Das Forum linkt auf {domain}/index hätte es gerne aber auf {domain}/forum

Der IP.Content leitet einfach weiter auf {domain}/page/index.html anstatt in der Stamm-URL {domain} angezeigt zu werden.

Share this post


Link to post

Grundsätzlich kann ich dem nicht so ganz folgen. Du hast doch mit der Änderung genau das erreicht, was du wolltest: IP.Content wird bei Aufruf deiner Domain als erstes aufgerufen, ob und wieso eine Weiterleitung erfolgt spielt doch erstmal eine untergeordnete Rolle.

Hier kann ich dir auch nicht wirklich helfen, für spezielle IP.Content Konfigurationen solltest du ein Ticket öffnen, sofern das Tutorial oben keine Lösung hergibt.

Share this post


Link to post

Wie ich angegeben habe, sollte dies genau unter den angegebenen URLs zu erreichen sein. SEO-Technisch finde ich auch eine solche Lösung der Weiterleitung nicht so optimal.

Share this post


Link to post

Ich sehe da keine Lösung, wenn das Forum im selben Verzeichnis liegt.

...was aber nicht unbedingt daran liegt, das es nicht möglich ist, sondern das ich damit keinerlei Erfahrung habe, weil wir IP.Content nicht im Forenordner nutzen sondern mit der im Tools-Ordner befindlichen index.php in einem anderen Ordner (ipbsupport.de -> IP.Content index.php & community.ipbsupport.de -> IP.Board).

Also am besten ein Ticket lösen und das Ergebnis hier posten. Im IPS-Forum konnte ich erstmal keine Lösung finden.

Share this post


Link to post

Habe mal ein paar Threads im englischsprachigem Forum durchwühlt und ein wenig herumprobiert. Dies ist das Ergebnis:

Vorher: <www.meineseite.de>/page/index.html

In den Settings: IP.Content Advanced Settings:

URL to index.php -> "Url eintragen"

Gateway filename -> index.php

Use .htaccess mod_rewrite -> Yes

Ergebnis: <www.meineseite.de>index.html

Pages / Page Manager -> index.html (bearbeiten) -> Schritt 1

Page URL ->
Omit page name in URL -> Haken setzen

Ergebnis: <www.meineseite.de>

Schwere Geburt, aber das erstes Problem ist damit gelöst :)

Jetzt wüsste ich nur noch gerne, wie ich die Forensartseite "<www.meineseite.de>index", in so etwas wie "<www.meineseite.de>mein_erdachter_forum_index_name" ändern kann.

Edited by Musika

Share this post


Link to post

Probier mal folgendes.

Um den Pfadnamen in der URL von 'index' auf 'mein_erdachter_forum_index_name' umzubiegen, ist die folgende Datei zu bearbeiten, zuvor aber bitte unbedingt zu backupen:

Öffne und bearbeite die /admin/applications/forums/extensions/furlTemplates.php

Die zwei rot markierten Phrasen am Ende der Datei müssen entsprechend editiert werden.

<?php

/**

* <pre>

* Invision Power Services

* IP.Board v3.3.4

* Sets up SEO templates

* Last Updated: $Date: 2012-06-12 10:14:49 -0400 (Tue, 12 Jun 2012) $

* </pre>

*

* @author $Author: bfarber $

* @copyright © 2001 - 2009 Invision Power Services, Inc.

* @license http://www.invisionp...rds.php#license

* @package IP.Board

* @subpackage Forums

* @link http://www.invisionpower.com

* @since 20th February 2002

* @version $Rev: 10914 $

*

*/

if ( ! defined( 'IN_IPB' ) )

{

print "<h1>Incorrect access</h1>You cannot access this file directly. If you have recently upgraded, make sure you upgraded all the relevant files.";

exit();

}

/**

* SEO templates

*

* 'allowRedirect' is a flag to tell IP.Board whether to check the incoming link and if not formatted correctly, redirect the correct one

*

* OUT FORMAT REGEX:

* First array element is a regex to run to see if we've a match for the URL

* The second array element is the template to use the results of the parenthesis capture

*

* Special variable #{__title__} is replaced with the $title data passed to output->formatUrl( $url, $title)

*

* IMPORTANT: Remember that when these regex are used, the output has not been fully parsed so you will get:

* showuser={$data['member_id']} NOT showuser=1 so do not try and match numerics only!

*

* IN FORMAT REGEX

*

* This allows the registry to piece back together a URL based on the template regex

* So, for example: "/user/(d+?)/", 'matches' => array( array( 'showuser' => '$1' ) )tells IP.Board to populate 'showuser' with the result

* of the parenthesis capture #1

*/

$_SEOTEMPLATES = array(

'showannouncement' => array( 'app' => 'forums',

'allowRedirect' => 1,

'out' => array( '#showannouncement=(.+?)((?:&|&amp;)f=(.+?))?(&|$)#i', 'forum-$3/announcement-$1-#{__title__}/$4' ),

'in' => array( 'regex' => '#/forum-(d+?)?/announcement-(d+?)-#i',

'matches' => array( array( 'showannouncement', '$2' ), array( 'f', '$1' ) ) ) ),

'showforum' => array( 'app' => 'forums',

'allowRedirect' => 1,

'out' => array( '#showforum=(.+?)(&|$)#i', 'forum/$1-#{__title__}/$2' ),

'in' => array( 'regex' => '#^/forum/(d+?)-#i',

'matches' => array( array( 'showforum', '$1' ) ) ) ),

'showtopicunread'=> array( 'app' => 'forums',

'allowRedirect' => 1,

'out' => array( '#showtopic=(.+?)(?:&|&amp;)view=getnewpost(&|$)#i', 'topic/$1-#{__title__}/unread/$2' ),

'in' => array( 'regex' => '#^/topic/(d+?)-([^/]+?)/unread(/|$)#i',

'matches' => array( array( 'showtopic', '$1' ),

array( 'view', 'getnewpost' ) ) ) ),

'showtopicnextunread'=> array( 'app' => 'forums',

'allowRedirect' => 1,

'out' => array( '#showtopic=(.+?)(?:&|&amp;)view=getnextunread(&|$)#i', 'topic/$1-#{__title__}/nextunread/$2' ),

'in' => array( 'regex' => '#^/topic/(d+?)-([^/]+?)/nextunread(/|$)#i',

'matches' => array( array( 'showtopic', '$1' ),

array( 'view', 'getnextunread' ) ) ) ),

'showtopic' => array( 'app' => 'forums',

'allowRedirect' => 1,

'out' => array( '#showtopic=(.+?)(#|&|$)#i', 'topic/$1-#{__title__}/$2' ),

'in' => array( 'regex' => '#^/topic/(d+?)-#i',

'matches' => array( array( 'showtopic', '$1' ) ) ) ),

'acteqst' => array( 'app' => 'forums',

'allowRedirect' => 1,

'out' => array( '#act=ST(.*?)&t=(.+?)(&|$)#i', 'topic/$2-#{__title__}/$3' ),

'in' => array( 'regex' => '#^notavalidrequest$#i',

'matches' => array( array( 'showtopic', '0' ) ) ) ),

'act=idx' => array( 'app' => 'forums',

'allowRedirect' => 0,

'out' => array( '#act=idx(&|$)#i', 'index$1' ),

'in' => array( 'regex' => '#^/index(/|$|?)#i',

'matches' => array( array( 'act', 'idx' ) ) ) ),

);

Abspeichern.

Du wirst im ACP danach noch aufgefordert den Cache neu schreiben zu lassen. Einfach den Anweisungen folgen. Fertig.

(ohne Gewähr)

Edited by Deep.Throat

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×