Пользовательский метод рендеринга класса изображений - PullRequest
0 голосов
/ 16 января 2020

I sh для изменения тега img внутри одного элемента шаблона страницы на другой тег. Необходимо использовать эффект параллакса для каждого изображения на странице (без указания класса c или создания в CMS). Поскольку изображения не могут быть стилизованы, я решил заменить тег img другим. Я могу сделать это, используя JS, чтобы плохой браузер не пострадал, но решил спросить, может ли это сделать PHP и silverstripe?

В ответ на текст Конни Наймана. Вот пример JS code.

var el = document.querySelectorAll('.Paralax'); // Obtain images to which should been paralax effect apply
for (i = 0; i < el.length; ++i) {
    // Create more elements, for example parent of div created bellow, so browser will properly calculates height - or use getComputedElementStyle from image element and apply result to nel
    var nel = document.createElement('div');
    nel.style.background = 'url("' + el[i].getAttribute('src') + '")';
    el[i].parentNode.insertBefore(nel, el[i]);
    el[i].parentNode.removeChild(el[i]);  
}

Выше кода это будет сделано с помощью JS. Я понимаю, что мне нужно не использовать JS, но добавить поддержку сервера. Поскольку Page была сгенерирована многими шаблонами, и мне нужно разрешить добавлять изображение Paralax из CMS, мне нужен способ добавить глобальный шаблон для всех тегов img, который проверяет только у img класс Paralax.

...