Я включил PHP-скрипт в сайт Typo3. Этот скрипт PHP генерирует теги img, которые автоматически берутся за основу для imageflow-slider .
Файлы потока изображений находятся в папке / fileadmin / teamtemplate. Изображения в /fileadmin/teamtemplate/images.
В imageflow.js у меня есть следующие параметры:
this.defaults =
{
imagePath: '', /* Path to the images relative to the reflect_.php script */
reflectPath: 'fileadmin/teamtemplate/', /* Path to the reflect_.php script */
В выводе html-файла у меня есть следующее:
img src="./images/1317986502.png" ongdesc="" width="380" height="253" alt="" />
(Извините, но я не узнал, как разместить HTML-код.) Imageflow создает следующий путь, который работает:
fileadmin/teamtemplate/reflect3.php?img=./images/1317986502.png
Проблема заключается в следующем:
Для refle3.php путь правильный, потому что (./images) доступен:
-reflect3.php
Прообразы /
--1317986502.png
Imageflow обычно принимает URL, указанный в теге html img src. refle3.php может теперь получить доступ к изображениям, но в HTML-коде путь неверен!
Неправильно в HTML, но работает, потому что refle3.php находит файлы
img src = "./ images / 1317986502.png" ongdesc = "" width = "380" height = "253" alt = "" />
Исправить в HTML, но refle3.php не может найти файлы
img src = "./ fileadmin / teamtemplate / images / 1317986502.png" ongdesc = "" width = "380" height = "253" alt = "" />
Неисправный код в imageflow.js
version = (my.reflectionPNG) ? '3' : '2';
src = my.imagePath+node.getAttribute('src',2);
src = my.reflectPath+'reflect'+version+'.php?img='+src+my.reflectionGET;
node.setAttribute('src',src);
my.reflectionGET должен взорвать строку, чтобы она заняла только последние 1317986502.png.
Рабочий раствор:
/* Add 'reflect.php?img=' */
if(my.reflections === true)
{
version = (my.reflectionPNG) ? '3' : '2';
if(my.imagePath === "") {
src = my.imagePath+node.getAttribute('src',2);
src = my.reflectPath+'reflect'+version+'.php?img='+src+my.reflectionGET;
} else {
var imagePath = node.getAttribute('src',2);
var slash = "/";
var lastOccurence = imagePath.lastIndexOf(slash);
var withoutPath = imagePath.substring(lastOccurence, imagePath.length);
src = my.imagePath+withoutPath;
src = my.reflectPath+'reflect'+version+'.php?img='+src+my.reflectionGET;
}
node.setAttribute('src',src);
}