Форум русской поддержки Joomla!® CMS
06.12.2016, 12:16:11 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Как вставить свой код?

 (Прочитано 361 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Вараника
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 16


« : 15.05.2015, 12:41:57 »

Люди, кто понял логику разработчиков Joomla? Суть такова - валидатор зашкаливает в своей истерике при просмотре сайта. Сайту не многим, не малым, 5 лет и там менялись админы переодически. Стоит VirtueMart 1.1.9 и, как откроешь категорию или товар, так у title и alt картинок/ссылок много текстов, где кто-то когда-то вставлял или забывал кавычки, пробелы и прочее.
В итоге такая бяка встречается:
<a href="bla-bla" alt="перейди, там типа "круто" - ">ссылка </a>
Владельцу сайта сеошники нагадали страшное будущее, если у него будет аж 1000 ошибок при валидации. Вот и пришла эта мука на мою голову.
Итак, идея - поставит заглушку, чтобы уничтожит кавычки в альтах и тайтлах на всех-всех страницах. Модуль нам не нужен, нужно в index.php шаблона поставить код -
 
Код:
<?php
$text = а вот тут вопрос, чему его прировнять, чтобы всю страницу проверить?;
echo preg_replace("\<(a|img)\s*(.*?)(alt|title)\=\s*(["'])( (?>[^"']+) | (?R) )\4(.*?)>\", $text);
?>

Вот только что передать переменной $text чтобы она вмещала в себя все тексты на страницах? По тому же принципу хочу в дальнейшем искать теги <br /> и менять их на <br> ну и прочие нестыковки исправлять.
Записан
kik84
Живу я здесь
******

Репутация: +59/-4
Offline Offline

Сообщений: 1307



« Ответ #1 : 15.05.2015, 16:39:40 »

Не совсем понял, но почему бы не заменить "" на «»
Записан
SeBun
Практически профи
*******

Репутация: +134/-3
Offline Offline

Пол: Мужской
Сообщений: 2281



« Ответ #2 : 15.05.2015, 17:50:14 »

А не хотите написать скрипт, который пройдется по всей базе и исправит все некорректные вхождения в текстах? На мой взгляд лучше один раз нагрузить сервер, чем постоянно проверять все тексты, а это может быть затратно. Как вы считаете?
Записан
robert
Профи
********

Репутация: +343/-11
Offline Offline

Пол: Мужской
Сообщений: 3582


« Ответ #3 : 15.05.2015, 18:29:49 »

Итак, идея - поставит заглушку, чтобы уничтожит кавычки в альтах и тайтлах на всех-всех страницах. Модуль нам не нужен, нужно в index.php шаблона поставить код
Кто дал вам такой код и почему вы думаете, что можно поставить его в index.php шаблона? Шаблон ничего не генерирует, на то он и шаблон, чтобы в нем можно было заменить переменные нужными значениями.
Напишите плагинчик на событие onAfterRender и редактируйте контент перед выводом.
sebun, как я понял, там не все хранится в БД, часть контента может быть динамически составлена.
Записан
umbabaraumba
Практически профи
*******

Репутация: +153/-1
Offline Offline

Пол: Мужской
Сообщений: 2558

если помог можете поставить +


« Ответ #4 : 15.05.2015, 19:12:25 »

Если база не очень большая то можно ее сохранить на комп и в редакторе сделать поиск и замену
Записан
Вараника
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 16


« Ответ #5 : 15.05.2015, 20:17:12 »

Не совсем понял, но почему бы не заменить "" на «»
Можно и так, но по-моему проще было б вообще убрать, чтоб валидатор не ругался.

Взять из базы и заменить - но база хранит в одном месте имена товаров, они же альты и тайтлы, там около 800 наименований Sad
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet