Hat schon mal jem. versucht ein Bild ohne alt-Attribut auszugeben?
Um die Frage "Warum das?" vorweg zu beantworten: da es das XML für die http://www.monoslideshow.com/monoslideshow_manual.pdf nicht zulässt bzw. zu Fehlern führt.
Für o.a. Monoslideshow generiere ich ein eigenen Pagetype, der gewünschte Bilder übergeben soll. Die Bilder im XML werden mit:
10.stdWrap.dataWrap = <img src="|" title="{field:header}" />
ausgegeben. Egal ob ich den HTMLparser anschmeiße oder einen anderen doctype setze, sobald ein img erzeugt wird, gibt es auch ein leeres alt-Attribut!
Hat jem. eine Idee, wie man das alt-Attribut entfernt?
Wie gesagt, HTMLparser.noAttrib = img etc. führen nicht zum Erfolg!
Hier das ganze TS:
xmlBilder = PAGE
xmlBilder {
typeNum = 2
config.disableAllHeaderCode = 1
10 = TEMPLATE
10 {
template = FILE
template.file = fileadmin/flash/monoslideshow_template.xml
}
10.marks {
IMAGES = COA
IMAGES {
10 = CONTENT
10 {
table = tt_content
select.where = colPos = 1
select.orderBy = sorting
renderObj = COA
renderObj {
10 = IMG_RESOURCE
10.file.import = uploads/pics/
10.file.import.field = image
10.file.import.listNum = 0
10.file.maxW.field = imagewidth
10.file.maxW.ifEmpty = 970
10.file.maxH.field = imageheight
10.file.maxH.ifEmpty = 220
10.stdWrap.dataWrap = <img src="|" title="{field:header}" />
}
}
}
}
}
Es handelt sich um ein Typo3 4.2.6 mit css_styled_content.
Gruss Jacob
PHP_SCRIPT mit $content oder USER mit userFunc wollen auch nicht, dass ein IMG-Tag ohne alt-Attribut ausgegeben wird!
Hat jem. noch eine andere Idee, wie man Einfluß darauf nehmen kann?
Gut, mit so viel Reaktion hab ich auch nicht gerechnet!
Der Super-Holzhammeransatz ist nun dieser (falls es jem. interessiert):
<?php
$replace_pairs = array(
"alt=\"\"" => "",
);
$file = file_get_contents("index.php?id=" . addslashes($_GET["id"]) . "&type=2");
echo strtr($file,$replace_pairs);
?>
Na ja, muss man wohl mit leben ... schnauf 🙁
Da mit o.a. Variante eh eine Ausgabe über eine PHP Datei stattfindet, kann ich es auch gleich vollständig darüber machen (Abfrage über Pear:😃B).
Hier also die vollständige Lösung (auch wenn es mit einer Ausgabe über TS nicht möglich scheint, setzt ich das Thread mal auf "gelöst"):
<?php
require_once("DB.php");
define ("PATH", dirname(__FILE__));
$dsn = array(
"phptype" => "mysql",
"username" => "username",
"password" => "password",
"hostspec" => "localhost",
"database" => "database",
);
$options = array(
"debug" => 2,
"portability" => DB_PORTABILITY_ALL,
);
$db =& DB::connect($dsn, $options);
if (PEAR::isError($db)) {
die($db->getMessage());
}
$query = "SELECT image,header FROM `tt_content` WHERE pid = '" . addslashes($_GET["id"]) . "' \n"
."AND hidden = 0 \n"
."AND deleted = 0 \n"
."AND CType = \"image\" \n"
."AND colPos = 1 \n"
;
$res =& $db->query($query);
if (PEAR::isError($res)) {
die($res->getMessage());
}
while ($res->fetchInto($row, DB_FETCHMODE_ASSOC)) {
$images .= "<img src=\"uploads/pics/" . $row["image"] . "\" title=\"" . $row["header"] . "\"/>" . chr(13);
}
$xml = implode("", file(PATH . "/monoslideshow_template.xml"));
$xml = strtr($xml, array(
"###IMAGES###" => $images,
));
header("Content-Type: text/xml");
echo $xml;
?>
Hier noch das Template (monoslideshow_template.xml):
<?xml version="1.0" encoding="utf-8"?>
<!--
Monoslideshow 1.32 configuration file
Please visit http://www.monoslideshow.com for more info
-->
<slideshow>
<preferences
kenBurnsMode = "random"
kenBurnsTime = "8"
backgroundColor = "FFFFFF"
showLoadingIcon = "true"
showControls = "false"
showImageInfo = "ifAvailable"
randomizeImages = "true"
loadingIconAlign = "topRight"
loadingIconColor = "ffffff"
loadingIconBackgroundColor = "CBC414"
loadingIconAlpha = "50"
loadingIconSize = "15"
imageInfoDisplayNoDescription = ""
imageInfoDisplayNoTitle = ""
imageInfoTitleSize = "10"
imageInfoDescriptionMargin = "5"
imageInfoTextAlign = "right"
imageInfoColor="ffffff"
imageInfoAlpha="0"
imageInfoRoundedCorners="6"
imageInfoAlign="bottomLeft"
imageInfoTitleContainsNumber = "false"
/>
<album>
###IMAGES###
</album>
</slideshow>