Joomla уроки Валидация плагина XTypo и Addthis в CMS Joomla

Валидация плагина XTypo и Addthis в CMS Joomla

18

Очень часто можно услышать, что валидация не нужна и, якобы, все это удел только тех, кто хочет идеальной совместимости с XHTML. Тем не менее, считаю, что многим будет полезно узнать о правильном решении вопроса валидации популярного сервиса закладок Addthis.com, а также плагина Xtypo

success

На примере одной из своих статей я покажу, как пройти валидацию на сервисе

1. Валидация плагина XTypo:

Возьмем материал Валидация XHTML и после проверки кода, он выдает нам 23 ошибки:

document type does not allow element “p” here; missing one of “object”, “applet”, “map”, “iframe”, “button”, “ins”, “del” start-tag
…; display: block; height: auto; width: ;”><pre class=”brush: xml;”>&lt;head&gt;
?
The mentioned element is not allowed to appear in the context in which you’ve placed it; the other mentioned elements are the only ones that are both allowed there and can contain the element mentioned. This might mean that you need a containing element, or possibly that you’ve forgotten to close a previous element.

One possible cause for this message is that you have attempted to put a block-level element (such as “<p>” or “<table>”) inside an inline element (such as “<a>”, “<span>”, or “<font>”).

Перевод

:

Тип документа не разрешает элемент “p” в данном месте; отсутствие одного из “object”, “applet”, “map”, “iframe”, “button”, “ins”, “del” начального тега…

Вышеуказанный элемент не может появляться в содержании, в котором вы его указали; другие вышеуказанные элементы являются одиночными и могут содержать указанные элементы. Это может означать, что вам нужен содержащий элемент, или, возможно, вы забыли закрыть предыдущий.

Еще одним из решений является то, что вы попытались вставить такой элемент, как “<p>” или “<table>” внутри inline элемента (“<a>”, “<span>”, or “<font>”).

Открываем в редакторе Joomla статью в HTML коде (Toggle Editor), видим следующую картину:

 <p><a title="форум" href="#" target="_blank">обсудить</a></p>

Нам нужно убрать <p> в начале и </p> в конце кода, сохраняем документ.

Те же действия нужно проделать и для тегов </br> и остальных, чтобы получился код:

 <a title="форум" href="#" target="_blank">обсудить</a>

2. Валидация сервиса социальных закладок AddThis: При вставке кода, полученного с данного сервиса, получаем следующий вид:

 <!-- AddThis Button BEGIN --> <p class="addthis_toolbox addthis_default_style "> <a class="addthis_button_facebook_like" fb:like:layout="button_count"></a> <a class="addthis_button_tweet"></a> <a class="addthis_button_google_plusone" g:plusone:size="medium"></a> <a class="addthis_counter addthis_pill_style"></a> </p> <script type="text/javascript">var addthis_config = {"data_track_addressbar":true];</script> <script type="text/javascript" src="https://s7.addthis.com/js/250/addthis_widget.js#pubid=ra-4f688ec27e456d1e"></script> <!-- AddThis Button END -->

Для того, чтобы пройти валидацию, нам нужно просто убрать значения кнопок:

fb:like:layout=”button_count” и

g:plusone:size=”medium”.

В результате получаем:

  <!-- AddThis Button BEGIN --> <p class="addthis_toolbox addthis_default_style "> <a class="addthis_button_facebook_like"></a> <a class="addthis_button_tweet"></a> <a class="addthis_button_google_plusone"></a> <a class="addthis_counter addthis_pill_style"></a> </p> <script type="text/javascript">var addthis_config = {"data_track_addressbar":true];</script> <script type="text/javascript" src="https://s7.addthis.com/js/250/addthis_widget.js#pubid=ra-4f688ec27e456d1e"></script> <!-- AddThis Button END -->

Проверяем на наличие ошибок в коде…

Если существуют ошибки, то находим главный файл используемого шаблона (у нас это index.php), и меняем:

 <html xmlns="http://www.w3.org/1999/xhtml"> на вид <html xmlns="http://www.w3.org/1999/xhtml" xmlns:addthis="http://www.addthis.com/help/api-spec">

Данным действием мы добавляем значения в статьи для сервиса AddThis, чтобы корректно отображалось содержимое на нашем сайте.

Наслаждаемся зеленым цветом на сервисе валидации после окончательной проверки:)