Marker array indeholder data, men bliver ikke udskrevet
Hej eksperter,jeg har stirret mig blind på et lille problem med en marker der indeholder data til et html template, men jeg kan ikke få data'ne ud, så jeg vil høre om der er en der kan se hvad jeg overser?
Jeg har i class.walls.php der extender class.main.php dette stykke kode:
$markers = array();
$theTxt = ($_GET["wall"] != "blank" || !isset($_GET["wall"])) ? "Vælg ny farve" : "Vælg farve";
$markers["###COLORS###"] = '<a href="#" onclick="return showCBox();" class="boxOpener">'. $theTxt .'</a>';
$markers["###COLORS###"] .= '<div class="colorBox">';
$markers["###COLORS###"] .= '<ul class="colorItems">';
while($row = mysql_fetch_array($sql)) {
$markers["###COLORS###"] .= '<li>';
$markers["###COLORS###"] .= '<p><a href="index.php?page=sw&room='. $_GET["room"] .'&floor='. $_GET["floor"] .'&wall='.$row["color"].'"><img src="images/walls/'. $row["color"] .'.jpg" width="100" height="50" /></a></p>';
$markers["###COLORS###"] .= '<p><a href="index.php?page=sw&room='. $_GET["room"] .'&floor='. $_GET["floor"] .'&wall='.$row["color"].'">'. $row["descr"] .'</a></p>';
$markers["###COLORS###"] .= '</li>';
}
$markers["###COLORS###"] .= '</ul>';
$markers["###COLORS###"] .= '</div>';
$this->GetMarkers($markers);
hvor jeg i class.main.php har GetMarkers funktionen:
function GetMarkers($markers = array()) {
foreach($markers as $key => $value) {
$this->markers[strtoupper($key)] = $value;
}
return $this->markers;
}
der så skal smide array i et html template med denne:
function TemplateGenerator($template) {
/* Get content from the html template */
$data = file_get_contents($template);
if(isset($this->markers)) {
/**************************************************
* Match each key in $this->markers array
* and replace with the correct value
***************************************************/
foreach($this->markers as $key => $value) {
if(preg_match("/". preg_quote($key) ."/", $data, $matches)) {
$data = str_replace($key, $value, $data);
} else {
$data = $data;
}
}
Main::TxtOutput($data);
} else {
if(!empty($data)) {
echo $data;
} else {
die("Der er sket en fejl med genereringen af siden");
}
}
}
Men $markers["###COLORS###"] bliver ikke udskrevet i min main.html selvom jeg har sat ###COLORS### i den som er det der skal replaces med min marker.
I min index.php har jeg sat $mark["###SITETITLE###"] = "Sidetitel"; som fint bliver udskrevet via
$main->GetMarkers($mark);