Hallo zusammen,
habe bisher recht erfolgreich mit Contenido einen neuen HTML Auftritt erstellt. Das ganze habe ich lokal auf meinem Laptop gemacht, anschließend wollte ich einen Abzug der DB auf dem Webserver einspielen.
Leider schreibt Contenido bei den Bildern einen absoluten Pfad (in meinem Fall localhost/...) in die DB. Eine Portierung ist somit nicht möglch.
Der Pfad wird unter der Definition der Mandanten angegeben. Dort kann man den HTML-Pfad und den absoluten Pfad angeben.
Ist ja super, was ich aber nicht verstehe, warum dieser dann bei den CMS_IMAGE[%] Tags mit in die DB geschrieben wird. Aus meiner Sicht sollte dieser Pfad erst zur Laufzeit aus der DB-Angabe und dem "relativen" Bildverweis zusammen gesetzt werden.
Hat denn jemand das gleiche Problem, oder wie bekommt Ihr eine lokale Entwicklung gebacken???
Gruß Mathias
absolute Pfadangabe in der Datenbank
Absolute Pfade...
Hallo Mathias,
zum Punkt der absoluten Pfade bei Bildern habe ich bereits im "Module"-Thread geantwortet: http://www.contenido.de/forum/viewtopic.php?t=1090.
Sofern Du nicht an einer Stelle der DB absolute Bild-Pfade gefunden hast (und für eine Ortsangabe wäre ich dann dankbar), hätte ich noch den Tipp, neben dem Mandanten-Verzeichnis-Einstellungen alle Contenido-Pfade in der config.php im contenido/includes-Verzeichnis zu kontrollieren... (zugegeben, laut Code werden diese Angaben nicht für CMS_IMG verwendet)
Und noch'n Tipp: Die Änderung des Mandanten-Verzeichnisses wird erst nach Contenido-Neuanmeldung überall berücksichtigt.
Gruß
HerrB
zum Punkt der absoluten Pfade bei Bildern habe ich bereits im "Module"-Thread geantwortet: http://www.contenido.de/forum/viewtopic.php?t=1090.
Sofern Du nicht an einer Stelle der DB absolute Bild-Pfade gefunden hast (und für eine Ortsangabe wäre ich dann dankbar), hätte ich noch den Tipp, neben dem Mandanten-Verzeichnis-Einstellungen alle Contenido-Pfade in der config.php im contenido/includes-Verzeichnis zu kontrollieren... (zugegeben, laut Code werden diese Angaben nicht für CMS_IMG verwendet)
Und noch'n Tipp: Die Änderung des Mandanten-Verzeichnisses wird erst nach Contenido-Neuanmeldung überall berücksichtigt.
Gruß
HerrB
Hallo HerrB,
vielen Dank erst einmal für die schnelle Antwort, den Pfad finde ich in der Tabelle con_code
Wie Du siehst ziehe ich aus dem template-Verzeichnis 5 Files an (die bilden das Grundgerüst für alle meine Styles, dort steht "nur" einfacher HTML-Code). Meine Container pflanze ich dazwischen. Innerhalb von Contenido sieht das ganze so aus, das DB-Ergebnis in con_code siehst du oben.
Als Modul für die Bilder habe ich das Standard-Modul verwendet:
Wenn ich den Mandantenpfad ändere und mich anschließend neu einlogge und die Seite noch einmal abspeichere (in der Template-Konfiguration -> grüner Pfeil) dann wird der Pfad auf der Datenbank verändert.
So ich hoffe ich konnte das Problem jetzt besser beschreiben, was ich nicht verstehe wieso bei Dir die Bilder so schön mit "Laufzeitpfaden" in der DB liegen. Ich versuche der Sache heute auch noch einmal auf den Grund zu gehen und melde mich ggf.
Gruß Mathias
vielen Dank erst einmal für die schnelle Antwort, den Pfad finde ich in der Tabelle con_code
Code: Alles auswählen
include("templates/mt_base_1.html");
?>
.........................................
<?php
include("templates/mt_base_4.html");
// --------------------------------------------------------------------------------
// Hier jetzt den Content definieren ...
// --------------------------------------------------------------------------------
?>
<tr>
<td width="10"><img src="img/spacer.gif" width="10"></td>
<td colspan="3" valign="top">
<?php
echo "<h1> Das Unternehmen </h1>";
echo "<h1 class=\"mt_kasten\"> Wir über uns </h1>";
?>
<?php
[b]if ("http://localhost/metris1/cms/upload/mt_bilder/00_gebaeude_halle.jpg" != "") {
$img = '<img src="http://localhost/metris1/cms/upload/mt_bilder/00_gebaeude_halle.jpg"[/b] border="0" width="405" height="135">';
if ("http://" != "http://") {
$img = sprintf('<a href="%s" target="%s">%s</a>',"http://", "", $img);
}
echo $img;
}
......................................
<?php
// --------------------------------------------------------------------------------
// ENDE Content ...
// --------------------------------------------------------------------------------
include("templates/mt_base_5.html");
Code: Alles auswählen
include("templates/mt_base_1.html");
?>
CMS_CONTAINER[1]
<?php
include("templates/mt_base_2.html");
?>
CMS_CONTAINER[2]
<?php
include("templates/mt_base_3.html");
?>
CMS_CONTAINER[3]
<?php
include("templates/mt_base_4.html");
// --------------------------------------------------------------------------------
// Hier jetzt den Content definieren ...
// --------------------------------------------------------------------------------
?>
<tr>
<td width="10"><img src="img/spacer.gif" width="10"></td>
<td colspan="3" valign="top">
CMS_CONTAINER[7]
CMS_CONTAINER[8]
CMS_CONTAINER[9]
</td>
<td></td>
<td>
<div align="center">
CMS_CONTAINER[4]<br>
CMS_CONTAINER[5]<br>
CMS_CONTAINER[6]<br>
</div>
</td>
<td></td>
</tr>
<?php
// --------------------------------------------------------------------------------
// ENDE Content ...
// --------------------------------------------------------------------------------
include("templates/mt_base_5.html");
Code: Alles auswählen
<?php
if ("CMS_IMG[1]" != "") {
$img = '<img src="CMS_IMG[1]" border="0" width=135>';
if ("CMS_LINK[1]" != "http://") {
$img = sprintf('<a href="%s" target="%s">%s</a>',"CMS_LINK[1]", "CMS_LINKTARGET[1]", $img);
}
echo $img;
}
echo "<br>";
echo "CMS_IMGDESCR[1]";
echo "CMS_LINKDESCR[1]";
?>
So ich hoffe ich konnte das Problem jetzt besser beschreiben, was ich nicht verstehe wieso bei Dir die Bilder so schön mit "Laufzeitpfaden" in der DB liegen. Ich versuche der Sache heute auch noch einmal auf den Grund zu gehen und melde mich ggf.
Gruß Mathias
Hallo HerrB,
ich habe jetzt endlich die Stelle gefunden, wo das IMG Tag definiert wird. Dass ich da in der DB suchen muss, darauf bin ich gestern nicht gekommen (wahrscheinlich lags an der Hitze
.
Wenn ich mir den Code so mal anschaue:
Dann glaube ich dass der Pfad eben doch direkt in die DB geschrieben werden. Der oben definierte PHP-Code wird ja sicherlich ausgeführt, d.h. die Variablen direkt ersetzt und $tmp hat eben den Wert des vollen Pfades, oder wie siehst Du die Sache. Ich teste das mal, was passiert wenn man hier ein bisschen rumspielt.
Gruß Mathias
ich habe jetzt endlich die Stelle gefunden, wo das IMG Tag definiert wird. Dass ich da in der DB suchen muss, darauf bin ich gestern nicht gekommen (wahrscheinlich lags an der Hitze

Wenn ich mir den Code so mal anschaue:
Code: Alles auswählen
INSERT INTO con_type VALUES (4, 'CMS_IMG', '/**\r\n * CMS_IMG\r\n */\r\n \r\n
$tmp = $a_content["CMS_IMG"][$val];
if($tmp==""||$tmp=="0"){
$tmp="";
}
else{
$sql = "SELECT * FROM ".$cfg["tab"]["upl"]." WHERE idclient=\'".$client."\' AND idupl=\'".$tmp."\'";
$db2 = new DB_Contenido;
$db2->query($sql);
if ( $db2->next_record() ) {
$tmp = $cfgClient[$client]["path"]["htmlpath"].$cfgClient[$client]["upload"].$db2->f("dirname").$db2->f("filename");
}
$tmp = htmlspecialchars($tmp);
$tmp = str_replace("\'", "\\\'", $tmp);
}', 'Bild', 0, '', '2002-05-13 19:04:21', '2002-05-13 19:04:21');
Gruß Mathias
Hallo HerrB,
ich habe jetzt eine Lösung. Grundsätzlich sind IMG-Tags immer in eine Seite eingebunden und werden in der Regel relativ addressiert, warum also den ganzen HTML-Pfand vorne anstellen?
Gesagt getan, ich habe in der DB den Eintrag:
für die Bilder mit folgenden:
erstetzt und damit die ganze Sache für mich gelöst. Die Bilder werden jetzt relativ addressiert und passen somit prima.
Gruß Mathias

ich habe jetzt eine Lösung. Grundsätzlich sind IMG-Tags immer in eine Seite eingebunden und werden in der Regel relativ addressiert, warum also den ganzen HTML-Pfand vorne anstellen?
Gesagt getan, ich habe in der DB den Eintrag:
Code: Alles auswählen
$tmp = $cfgClient[$client]["path"]["htmlpath"].$cfgClient[$client]["upload"].$db2->f("dirname").$db2->f("filename");
Code: Alles auswählen
$tmp = $cfgClient[$client]["upload"].$db2->f("dirname").$db2->f("filename");
Gruß Mathias
Absolute Pfade in Examples.sql
Dies dürfte der richtige Thread sein für diese kleine Anmerkung:
Die SQL-Datei examples.sql, die in der Distribution mitgeliefert wird, enthält leider absolute Pfadangaben!
Denke, dass da noch manch einer rüberstolpern wird...
Gruss
Thomas
Die SQL-Datei examples.sql, die in der Distribution mitgeliefert wird, enthält leider absolute Pfadangaben!
Code: Alles auswählen
Beispiel:
http://192.168.1.13/conip/cms/upload/logos/contenido_logo.jpg
oder
http://192.168.1.13/Projekte_Persoenlich/jan.lengowski/contenido_sources/cms/upload/logos/contenido_logo.jpg

Gruss
Thomas