Сайт Земскова Ильи
Веб-мастер, к.т.н., «200000».
Бензин ваш - идеи наши © И.Ильф и Е.Петров

Хак: jQuery тюнинг админ-страницы «Информация» в maxSite CMS

Как вы считаете, насколько полезны сведения, которые выводятся в админ-панели maxSite CMS на странице «Информация»? Напомню, там выводятся блок ссылок на разные страницы о движке, версия движка, две кнопки («проверить последнюю версию» и «сбросить кэш») и, при наличии, закладки плагина «Админ-анонс». Вы часто переходите из админки на официальный сайт движка? Ваши клиенты тоже каждый свой рабочий день начинают с открытия форума maxSite CMS через админку своего сайта? Лично у меня для этих целей есть закладки браузера, а у клиентов и без движка хватает дел. Но ссылки выводятся каждый раз. Занимают полезное место. Именно с мысли «занимают полезное место» я пришёл к тому, чем я хочу с вами поделиться в этом посте.

Тюнинг админки maxSite CMS

Какая информация нужна на странице «Информация»?

Итак, если стандартные ссылки я считаю бесполезными, то что же тогда является, по-моему, полезным? Мой минимальный набор полезных ссылок, которые я устанавливаю всем клиентам по-умолчанию, выглядит так:

Кроме ссылок есть потребность видеть статистику посещаемости сайта. Сам я пользуюсь браузерными закладками, но есть клиенты, которые не приучены к ним и поэтому нужно где-то в удобном месте показывать счётчики. Т.е. чтобы клиент видел статистику «без лишних дополнительных телодвижений». При этом отпадает вариант с выводом счётчиков на самом сайте клиента - не все клиенты желают раскрывать данные о посещаемости или же считают, что «это несолидно, размещать счётчики на сайте большой компании». Как бы то ни было, а решать проблему надо. Самое очевидное решение проблемы - воспользоваться плагином «Админ-анонс» и выводить всю необходимую информацию с помощью него. Собственно, других вариантов практически нет, а те, что есть - не выглядят универсально-красивыми. В общем, результат использования «Админ-анонса» выглядит так:

Не знаю как вам, а на мой вкус, самое интересное/важное место на странице занято тем, на что, в лучшем случае, обратят внимание один раз (в самом начале работы). Я имею в виду блок со стандартными ссылками. Это место великолепно подходит для вывода своей информации, но в движке пока нет стандартных средств для этого. То, что получается в результате работы плагина «Админ-анонс» выглядит, конечно, лучше, чем ничего, но всё равно только очень отдалённо напоминает желаемое. А если не пользоваться встроенной в движок статистикой, то система табов (на одном из табов выводится наш блок ссылок и другая необходимая информация) заметно перегружает страницу бесполезными элементами интерфейса. На мой взгляд, страница «Информация» должна выглядеть хотя бы так:

Нравится? Хотите знать, как я этого добился? Рассказываю по порядку.

jQuery-код для изменения страницы «Информация»

Страница принимает такой вид после работы следующего кода, который нужно разместить в поле «Текст на стартовой странице» плагина «Админ-анонс»:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<script type="text/javascript"><!--
    $(".admin-content .r br:lt(2)").hide();
    $(".admin-content .r ul:eq(0)").hide();
    $(".admin-content .r #tabs-widget-fragment-0 .info").insertBefore(".admin-content .r p:first");
    $(".admin-content #tabs-widget").hide();
// --></script>
[h2]Полезные ссылки: [/h2]
[list]
[*]Мониторинг посещений сайта через сервис «[url=http://metrika.yandex.ru/]Яндекс.Метрика[/url]»
[*]Панель «[url=http://webmaster.yandex.ru/]Яндекс.Вебмастер[/url]»
[*]Сервис «[url=https://www.google.com/webmasters/tools/home?hl=ru]Инструменты для веб-мастеров[/url]» от Google.com
[*]Сервис управления комментариями [url=http://cackle.ru/site/809/comments]Cackle.ru[/url]
[*]Управление счётчиком RSS-подписчиков на сервисе [url=http://feedburner.google.com/gfb/#overview]Google Feedburner[/url]
[/list]
<!-- Здесь код счётчиков -->

Из листинга видно, что код написан с использованием jQuery. Эта библиотека подключается по-умолчанию на страницах админки и позволяет лихо (на CSS, тоже можно было бы многое из описываемого достичь, но насколько гибкое решение бы получилось?) манипулировать содержимым страниц, так что вопрос выбора средства достижения цели не стоял в принципе.

Что именно делает скрипт? В первой строчке скрываются два первых BR внутри блока с классом .r, который вложен в блок с классом .admin-content. При этом, отмечу, остальные блоки BR, если они будут присутствовать на странице, останутся нетронутыми. Во второй строке происходить скрытие первого UL списка.

Самое интересное происходит в третьей строке. В ней происходит манипуляция с DOM страницы. Всё содержимое блока с классом .info (который вложен в блок с id равным tabs-widget-fragment-0) вставляется с переносом перед первым параграфом, который вложен в блок с классом .r. Чтобы было понятно, почему именно так и о чём идёт речь, можно заглянуть в html-код страницы. На момент написания статьи нужный фрагмент кода после отработки скрипта выглядел так:

На картинке отчётливо видно, какие блоки были скрыты и куда переместился блок с полезными ссылками. Думаю, теперь также стало понятно, что четвертая строка скрипта скрывает блок с табами. Если вы пользуетесь страницами со статистикой, то последнюю строчку кода вам лучше убрать (иначе потеряете доступ к нужной информации) и вместо неё написать такой код:

1
2
$(".admin-content #tabs-widget ul#tabs-menu li:eq(1)").addClass("ui-tabs-selected");
$(".admin-content #tabs-widget ul#tabs-menu li:first").hide();

Этот код скрывает первый пустой (после наших предыдущих манипуляций) таб с заголовком «Админ-анонс» и делает активным следующий таб, который имеет заголовок «Статистика».

Ссылку на скачивание исходного кода не даю, ибо он и так весь на ладони.

Комментариев: 6

А подскажите, как это можно сделать в более новых версиях MaxSite, так как нет больше такого плагина и соответственно его настроек.

С последними версиями движка хак пока не тестировал. Но вы и сами можете попробовать, ибо плагин «Админ-анонс» доступен для скачивания и установки - http://alexanderschilling.ru/plugins/47

Если возникнут сложности - буду смотреть, только маякните.

Спасибо за быстрый ответ.

В новой версии есть нюансы:

- не поддерживается bbcode, только html, поэтом

[list] -> <ul> и <*> -> <li></li>

В остальном все отлично завелось, спасибо.

P.S. версию качать по вашей ссылке, а не с офф.сайта wave.

Спасибо за хак: очень помог, потому что недавно сделал инструкцию в админке одного из клиентов, после чего задумался: "Как сделать, чтобы сначала выводилась именно она, а не техническая информация и информация о движке" - теперь проблема решена.

На самом деле не? только SEO-оптмизация. Есть масса факторов, влияющих на успех бизнеса. Не забывайте об этом. Но, если Вы хотите, чтобы продвижение в интернете давало свои результаты, то СЕО - это первое с чего нужно начать! smile

Оставьте комментарий!

Комментарий будет опубликован после проверки

Вы можете войти под своим логином или зарегистрироваться на сайте.

Авторизация MaxSiteAuth.

(обязательно)

Loading...