0 Пользователей и 1 Гость просматривают эту тему.
  • 5 Ответов
  • 1252 Просмотров
*

Вараника

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Как вставить свой код?
« : 15.05.2015, 11: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

  • Завсегдатай
  • 1350
  • 64 / 4
Re: Как вставить свой код?
« Ответ #1 : 15.05.2015, 15:39:40 »
Не совсем понял, но почему бы не заменить "" на «»
*

SeBun

  • BanMaster
  • 4018
  • 259 / 5
  • @SeBun48
Re: Как вставить свой код?
« Ответ #2 : 15.05.2015, 16:50:14 »
А не хотите написать скрипт, который пройдется по всей базе и исправит все некорректные вхождения в текстах? На мой взгляд лучше один раз нагрузить сервер, чем постоянно проверять все тексты, а это может быть затратно. Как вы считаете?
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Как вставить свой код?
« Ответ #3 : 15.05.2015, 17:29:49 »
Итак, идея - поставит заглушку, чтобы уничтожит кавычки в альтах и тайтлах на всех-всех страницах. Модуль нам не нужен, нужно в index.php шаблона поставить код
Кто дал вам такой код и почему вы думаете, что можно поставить его в index.php шаблона? Шаблон ничего не генерирует, на то он и шаблон, чтобы в нем можно было заменить переменные нужными значениями.
Напишите плагинчик на событие onAfterRender и редактируйте контент перед выводом.
sebun, как я понял, там не все хранится в БД, часть контента может быть динамически составлена.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

umbabaraumba

  • Живу я здесь
  • 2415
  • 153 / 1
  • если помог можете поставить +
Re: Как вставить свой код?
« Ответ #4 : 15.05.2015, 18:12:25 »
Если база не очень большая то можно ее сохранить на комп и в редакторе сделать поиск и замену
Errare humanum est
Ubuntu по-русски
Пишу не сложные модули и компоненты, не дорого но не срочно
*

Вараника

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Re: Как вставить свой код?
« Ответ #5 : 15.05.2015, 19:17:12 »
Не совсем понял, но почему бы не заменить "" на «»
Можно и так, но по-моему проще было б вообще убрать, чтоб валидатор не ругался.

Взять из базы и заменить - но база хранит в одном месте имена товаров, они же альты и тайтлы, там около 800 наименований :(
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как вставить фрейм на страницу

Автор panin_graf

Ответов: 2
Просмотров: 4100
Последний ответ 16.09.2017, 10:20:31
от raveng
Вставить название категории в блог категорий

Автор eldar2005

Ответов: 2
Просмотров: 1292
Последний ответ 26.03.2017, 22:06:10
от robert
Как вставить графический элемент?

Автор nazar_com

Ответов: 7
Просмотров: 1398
Последний ответ 11.11.2013, 10:37:14
от nazar_com
Нужно вставить якорь или что-то еще

Автор vitrage

Ответов: 1
Просмотров: 1621
Последний ответ 14.05.2013, 15:52:30
от darkghost
Как правильно вставить материал?

Автор Tetzlaff

Ответов: 1
Просмотров: 1155
Последний ответ 03.02.2013, 14:32:58
от Tetzlaff