Advanced Mod Rewriting Contenido 4.4.4
das sollte auch gehen. weil er alle front_content.php geschichten nachträglich umwandelt. mein darin enthaltener fck editor macht es zumindestens korrekt. spaw macht es meines wissen auch korrekt - das mit dem changelang hab ich so noch nie gesehen ... aber ich arbeite halt mit meinem eigenen system nach meiner eigenen logik.
so hab eben nochmal geschaut - ich habe eine leicht angepasst cms version bei mir laufen, wo das funktioniert.
bei dir musst du theoretisch nur 1,2 kleine zeilen abändern.
datei cms/front_content.php öffnen
zeile 65 (in dem dreh rum)
suche nach
und ersetze diese durch folgende
das sollte danach klappen
bei dir musst du theoretisch nur 1,2 kleine zeilen abändern.
datei cms/front_content.php öffnen
zeile 65 (in dem dreh rum)
suche nach
Code: Alles auswählen
if ( isset($langname) && !empty($langname) && !isset($lang)) {
$lang = mr_get_language_id ( $langname );
}
Code: Alles auswählen
if ( isset($langname) && !empty($langname) && !isset($changelang) ) {
$changelang = mr_get_language_id ( $langname );
}
FCK-Editor
Hallo, ich bin zufällig aus diesem Thread hierher gestolpert und war von der Einbettung des FCK-Editors begeistert.
Allerdings habe ich eine Frage: In der Einbettung im Nachbarthread ist es möglich in den Usereinstellungen in Contenido Variablen aus der fckconfig.js zu definieren z.B. [fckeditor][ToolbarSet][EigenesSet].
Ich habe gesehen dass Du die Variablen für die Toolbar, die Größe des Feldes in der editor.php beim AUfruf definierst und habe die testweise entfernt um die Usereinstellungen zu aktivieren. Das ging allerdings nicht.
Wie kann ich dem FCK-Editor denn eigene Werte übermitteln.
Da würde mich auch interessieren, ob ich das auch bei unterschiedlichen Mandanten machen kann.
Erst mal viele Grüße
Allerdings habe ich eine Frage: In der Einbettung im Nachbarthread ist es möglich in den Usereinstellungen in Contenido Variablen aus der fckconfig.js zu definieren z.B. [fckeditor][ToolbarSet][EigenesSet].
Ich habe gesehen dass Du die Variablen für die Toolbar, die Größe des Feldes in der editor.php beim AUfruf definierst und habe die testweise entfernt um die Usereinstellungen zu aktivieren. Das ging allerdings nicht.
Wie kann ich dem FCK-Editor denn eigene Werte übermitteln.
Da würde mich auch interessieren, ob ich das auch bei unterschiedlichen Mandanten machen kann.
Erst mal viele Grüße
hi,
also mit dem fck hab ich mich derzeit noch nicht weiter besschäfftigt, weil ich eigentlich auf die final warte ... ich habe lediglich die funktionalität bei mir so erweitert, dass ich den filebrowser und interne links nutzen kann ... ich hab so meine eigene voreinstellung definiert, die ich allen meinen kunden nur so anbiete (nicht die in dem bundle hier) damit die mir nicht komische sachen machen.
schau einfach mal wie der fck editor in dem anderen thread eingebunden wird - das sollte ja dann auch funktionieren ... ich hab bei mir ja sowieso noch die alte RC1 laufen, die noch ziemlich verbuggt ist - multimandantenfähigkeit nutze ich derzeit nicht, da ich momentan nur für die server der kunden anpasse daher kann ich dir auch dort nicht helfen
also mit dem fck hab ich mich derzeit noch nicht weiter besschäfftigt, weil ich eigentlich auf die final warte ... ich habe lediglich die funktionalität bei mir so erweitert, dass ich den filebrowser und interne links nutzen kann ... ich hab so meine eigene voreinstellung definiert, die ich allen meinen kunden nur so anbiete (nicht die in dem bundle hier) damit die mir nicht komische sachen machen.
schau einfach mal wie der fck editor in dem anderen thread eingebunden wird - das sollte ja dann auch funktionieren ... ich hab bei mir ja sowieso noch die alte RC1 laufen, die noch ziemlich verbuggt ist - multimandantenfähigkeit nutze ich derzeit nicht, da ich momentan nur für die server der kunden anpasse daher kann ich dir auch dort nicht helfen
Bei mir (4.4.5) kommt im Backend folgende Fehlermeldung:
Gibts da mittlerweile eine Lösung?
Code: Alles auswählen
Warning: No ending delimiter '/' found in /www/htdocs/stetten/contenido/classes/class.modrewrite.php on line 39
ja hier:
http://contenido.org/forum/viewtopic.php?p=41685#41685
arbeite vor allem mal die nächsten 2,3 seiten des threads durch - ich bin bisher leider aus zeitnot nicht dazu gekommen, die manuelle installationsdatei upzudaten, das package zum downloaden sollte aber auf dem neuesten stand sein ...
http://contenido.org/forum/viewtopic.php?p=41685#41685
arbeite vor allem mal die nächsten 2,3 seiten des threads durch - ich bin bisher leider aus zeitnot nicht dazu gekommen, die manuelle installationsdatei upzudaten, das package zum downloaden sollte aber auf dem neuesten stand sein ...
Base-Tag fehlt
Hallo,
ich habe Steses Änderungen in Contenido 4.4.5 eingebaut und bin begeistert. *hüstel* DANKE!
Allerdings waren bei mir einige Bilder nicht auffindbar, da sie mit relativen Links eingebunden sind und natürlich nicht im Verzeichnis cms/Punkt-1/Punkt-1.1/ liegen. Daher habe ich mir folgenden Workaround gebastelt, der einfach ein <base href="http:://www.example.com/cms"> an den Beginn des <head>-Tags stellt.
#-----[ FIND ]-----------------------------------------
#-----[ AFTER, ADD ]------------------------------------------
Gibt's andere / bessere Lösungen? Irgendwelche Anmerkungen?
ich habe Steses Änderungen in Contenido 4.4.5 eingebaut und bin begeistert. *hüstel* DANKE!
Allerdings waren bei mir einige Bilder nicht auffindbar, da sie mit relativen Links eingebunden sind und natürlich nicht im Verzeichnis cms/Punkt-1/Punkt-1.1/ liegen. Daher habe ich mir folgenden Workaround gebastelt, der einfach ein <base href="http:://www.example.com/cms"> an den Beginn des <head>-Tags stellt.
#-----[ FIND ]-----------------------------------------
Code: Alles auswählen
$str_all = preg_replace("/href=[\"|\']front_content\.php(.?|.+?)[\"|\']/ie", "'href=\"'.ModRewrite::build_new_url('\\1').'\"'", $str_all);
Code: Alles auswählen
// ronaldo edit - 050630 - determine base-url and add base tag
$base_tag = '<base href="' . ( !empty($_SERVER["HTTPS"]) ? 'https://' : 'http://') . $_SERVER['SERVER_NAME'].dirname($_SERVER['PHP_SELF']).'/" />';
$str_all = preg_replace("/(<head>)/i", "$1\n".$base_tag, $str_all);
// end ronaldo edit
keine ahnung - ich mach das auch so hehe ... in meiner laufenden 4.5.3 beta setzt er bei mir zumindestens automatisch ein <base href mit dem aktuellen mandantenpfad drinnen - daher gabs bei mir in letzter zeit auch keine probleme, da ich schon länger nicht mehr mit der 4.4.4 arbeite.
die tage kommt eine überarbeitete version der 4.4.4 raus, da mir die letzten 2 wochen noch 1,2 kleinigkeiten auffielen ...
wen es interessiert - ich habe ebenfalls eine angepasste version der 4.5.3beta am arbeiten ... werde ich dann auch bei gelegenheit einstellen, wenn sich mir die zeit bietet.
die tage kommt eine überarbeitete version der 4.4.4 raus, da mir die letzten 2 wochen noch 1,2 kleinigkeiten auffielen ...
wen es interessiert - ich habe ebenfalls eine angepasste version der 4.5.3beta am arbeiten ... werde ich dann auch bei gelegenheit einstellen, wenn sich mir die zeit bietet.
Hier ein kleiner DB-Installer, damit man das modrewrite auch nachrüsten kann. (Nicht zu verwechseln mit dem Apache Modul "mod_rewrite.so", das man benötigt).
Vorher Datenbank-Backup machen!
Weiß nicht, ob es 100%ig so funktioniert, wie es soll - nutze modrewrite erst seit heute.
Vorher Datenbank-Backup machen!

Weiß nicht, ob es 100%ig so funktioniert, wie es soll - nutze modrewrite erst seit heute.
Code: Alles auswählen
<?php
/**
* modrewrite_dbinstaller.php
* author Ronald Sacher
* descr: do some database work to get modrewrite up and running
* modrewrite is written by Stefan Seifart
* and can be found at: http://contenido.org/forum/viewtopic.php?t=6713
* Suggestions welcome, place it there ^^^
* $Id: modrewrite_dbinstaller.php 135 2005-06-30 15:13:14Z sacher $
*
* how to use: place the file in your contenido root and run it once
*/
require_once ('contenido/includes/config.php');
$db = new DB_Contenido;
//$db->Debug= true;
$db->Halt_On_Error = "report";
$db->query("SHOW TABLES;");
function my_mysql_error($str) {
println($str);
println(mysql_error());
die('exiting');
}
function println($msg) {
echo $msg.'<br>';
}
function add_Field($table, $column, $column_def, $additional) {
println("examing $table for $column");
$sql = sprintf("SHOW COLUMNS FROM %s LIKE '%s'", $table, $column);
$result = mysql_query($sql) or my_mysql_error($sql);
if (mysql_num_rows($result) == 0) {
println($column.' not found, trying to add...');
$sql = sprintf("ALTER TABLE %s ADD %s %s %s", $table, $column, $column_def, $additional);
mysql_query($sql) or my_mysql_error($sql);
} else
println($column.' found, skipping...');
}
add_Field($cfg["tab"]['art_lang'], 'websafename', 'VARCHAR(255)', 'AFTER pagetitle');
add_Field($cfg["tab"]['cat_lang'], 'websafename', 'VARCHAR(255)', 'AFTER name');
if (!class_exists('ModRewrite')) {
cInclude("classes", 'class.modrewrite.php');
}
$mr = new ModRewrite();
$sql = 'SELECT idlang, title, idart FROM '.$cfg["tab"]['art_lang'].' WHERE websafename IS NULL';
$result = mysql_query($sql) or my_mysql_error($sql);
println('found '.mysql_num_rows($result).' articles without websafename');
while ($row = mysql_fetch_assoc($result)) {
$mr->set_article($row['title'], $row['idart'], $row['idlang']);
}
$sql = 'SELECT name, idcat, idlang FROM '.$cfg["tab"]['cat_lang'].' WHERE websafename IS NULL';
$result = mysql_query($sql) or my_mysql_error($sql);
println('found '.mysql_num_rows($result).' categories without websafename');
while ($row = mysql_fetch_assoc($result)) {
// var_dump($db->Record);echo '<br><hr><br>';
$mr->set_category($row['name'], $row['idcat'], $row['idlang']);
}
println('');
println('everything seems to be fine');
?>
Zuletzt geändert von ronaldo am Do 30. Jun 2005, 16:27, insgesamt 2-mal geändert.
Lösungsvergleich von Stese's Bundle und 4.5.3
Hallo zusammen
Mit mod_rewrite ist ein sehr wichtiges Thema angesprochen, begeistert finde ich. Zeit zum gründlichen erforschen der Lösungen von Stese und Contenidoteam in 4.5.3 hatte ich leider nicht, wenn da was falsches steht bitte korrigieren, das wäre auch mein Anliegen mit dem Posting.
Soviel ich verstanden habe erwartet Frontendscript in 4.5.3 die Pfadangabe wie "front_content.php?path=Hauptnavigation/Punkt-2" um die Zieladresse aufzulösen. Ist das korrekt dass dabei nur Kategorienamen (bzw URL-Namen der Kategorien) für die Pfadumschrift genommen werden und die Artikel nicht berücksichtigt werden. So wird der Frontendscript nur Startartikel einer Kategorie finden nicht Folgeartikel. Wie lasse ich die Folgeartikeln aufnehmen?
Ich habe mal ausprobiert und in front_content,php das eingefügt. und wo ich auch klicke bekomme ich als Pfadangabe nur Kategorienamen, auch wenn ich in die News gehe bekomme ich nur "News" als Pfadangabe.
Die Lösung von Stese (4.4.4) hat dem gegenüber den Vorteil dass die auch Artikel berücksichtigt. Der Nachteil wäre nur dass die nicht in Contenido aufgenommen ist, bei Erweiterungen muss erneut angepasst werden.
Was mir noch aufgefallen ist, in 4.5.3 müssen die Module dafür sorgen die Moderewrite-komforme Links zu bekommen, es müssen also alle Module auf Modrewrite umgeschrieben werden. Die Stese's Lösung lässt die Module dagegen in Ruhe, ändert dafür wie gesagt viel in Contenidodateien.
Wie ist aber in beiden Versioen mit GET - Parameter, ist ein Lösungsansatz vorhanden um zB. Seitenangaben der Artikelliste wie "&page=2" in der URL zu verschlüsseln und aufzulösen? Auch das Problem mit "&m=&s=" wurde zum Beispiel bereits angesprochen.
Gruss, Edward
Mit mod_rewrite ist ein sehr wichtiges Thema angesprochen, begeistert finde ich. Zeit zum gründlichen erforschen der Lösungen von Stese und Contenidoteam in 4.5.3 hatte ich leider nicht, wenn da was falsches steht bitte korrigieren, das wäre auch mein Anliegen mit dem Posting.
Soviel ich verstanden habe erwartet Frontendscript in 4.5.3 die Pfadangabe wie "front_content.php?path=Hauptnavigation/Punkt-2" um die Zieladresse aufzulösen. Ist das korrekt dass dabei nur Kategorienamen (bzw URL-Namen der Kategorien) für die Pfadumschrift genommen werden und die Artikel nicht berücksichtigt werden. So wird der Frontendscript nur Startartikel einer Kategorie finden nicht Folgeartikel. Wie lasse ich die Folgeartikeln aufnehmen?
Ich habe mal ausprobiert und in front_content,php das
Code: Alles auswählen
echo "<hr>";
$cat_str = "";
prCreateURLNameLocationString($idcat, "/", $cat_str, false, "", 0, 1, true, true);
echo $cat_str;
echo "<hr>";
Die Lösung von Stese (4.4.4) hat dem gegenüber den Vorteil dass die auch Artikel berücksichtigt. Der Nachteil wäre nur dass die nicht in Contenido aufgenommen ist, bei Erweiterungen muss erneut angepasst werden.
Was mir noch aufgefallen ist, in 4.5.3 müssen die Module dafür sorgen die Moderewrite-komforme Links zu bekommen, es müssen also alle Module auf Modrewrite umgeschrieben werden. Die Stese's Lösung lässt die Module dagegen in Ruhe, ändert dafür wie gesagt viel in Contenidodateien.
Wie ist aber in beiden Versioen mit GET - Parameter, ist ein Lösungsansatz vorhanden um zB. Seitenangaben der Artikelliste wie "&page=2" in der URL zu verschlüsseln und aufzulösen? Auch das Problem mit "&m=&s=" wurde zum Beispiel bereits angesprochen.
Gruss, Edward