Всем привет!
Давно хотелось обновить заброшенную фотожабу.
И сидя вечером перед компьютером, читая хабру наткнулся на пост о выходе livestreet 0.3. Ну что же? Скачал, поставил — порадовало. Сразу пошла «заточка» под свои нужды.
Первое, с чем столкнулся — не хватало так называемого watermark. Его я быстренько реализовал, после чего нашел пример на этом сайте =) Далее нужно было прикрутить туда highslide. О том, как сделал подробно описывать не буду, т.к. уже тоже есть готовые решения. Скажу кратко.
Сначало при генерации ссылки добавил туда onclick=«return hs.expand(this)». И жутко обломался, т.к. после отправки поста с такой ссылкой onсlick обрезался. Хотелось разрешить этот параметр, но вовремя понял, что в таком случае туда можно засунуть любой левый JS код. Потом была мысль добавить свой собственный параметр к ссылке, ну например
<a href="бла бла" highslide>
и при отпарисивании поста заменить его на нужный onclick. Но т.к. уже было поздно и хотелось спать, ковыряться в том, как это работало было попросту лень и я поступил по другому. Благо уже был прикручен jQuery с плагином pngFix, чтобы PNG логотип корректно отображался в ИЕ6.
В общем я при генерации кода с масштабируемым изображением добавил атрибут title=«highslide» и добавил в хедер следующий код:
Не могу не сказать про некоторую особенность при подключении jQuery. Т.к. в движке используется MooTools, то для того, чтобы избежать конфликта в глобальном пространстве имен нужно обязательно добавить строку
jQuery.noConflict();
и использовать имя jQuery вместо идентификатора $. В итоге JS код, касающийся jQuery был таков:
Может быть это можно было реализовать с помощью MooTools, который, повторюсь, уже используется в движке, и не грузить дополнительных библиотек, но увы — я с ним не общался и уж больно полюбил jQuery. Итак, масштабирование при помощи highslide заработало!
Осталось решить его две проблемы, на которые я успел наткнутся:
1. SEO фишка по закрытию внешних ссылок (noindex, nofollow) закрывала все, абсолютно все ссылки, которые публикует автор! А мне хотелось, чтобы закрывались только внешные линки, а внутренние оставались как есть.
Как я это сделал:
В Файле /classes/modules/sys_text/Text.class.php
Закомментировал следующий код (можно просто удалить):
if (BLOG_URL_NO_INDEX) {
$this->oJevix->cfgSetTagParamsAutoAdd('a',array(array('name'=>'rel','value'=>'nofollow','rewrite'=>true)));
}
2. Следующий дискомфорт вызвало добавление нескольких картинок. При добавлении каждой новой форма с добавлением изображения не сбрасывалась. Ладно, когда я загружал файлы со своей машины, а когда указывал URL откуда картинку скачать, то каждый раз его удалять было очень не удобно. И описание файла тоже не стиралось. Решил проблему следующим образом. В файл /templates/skin/new/js/other.js в конец функции hideImgUploadForm() добавил строчку
В ближайшем будущем, если дойдут руки, планирую сделать массовую загрузку изображений. Сделаю — поделюсь)
Ну вот, подошел к концу мой первый пост. На последок хочу сказать, что если то, что я описал уже обсуждалось, прошу сильно не пинать, но я не нашел. Также буду рад, если укажите недочеты, лучшие решения =) Всем спасибо.
33 комментария
Приветствую Вас Уважаемый Hrom! Здорово Вы на сайте заделали кликабельные картинки с плавным увеличением размера.
На мой взгляд, единственый недочёт — использование jQuery. Mootools позволяет делать всё то же самое, и юзеру нет необходимости грузить лишние десятки килобайт
Этот вопрос нужно адресовать автору ЛС :-)
Лично я в рамках этого движка не вижу преимуществ ни у одного продукта из этой тройки. По моему мнению, для ЛС подошёл бы любой из них
да, конечно вопрос Орту, просто кликнулось…
я преимущество тоже не вижу, но помоему жквери клёвей и понятней… разводить холиваров не буду, это просто в порядке флуда…
в принципе скриптов тут не много и у меня была даже мысль переделать под жквери всё… но это в такоооооой далёкой переспективе, что не считается
Ну раз уж пошла такая пьянка, у меня тоже была мысль заменить мутулс на жквери и я её также отложил «на потом». Для такой замены у меня был ряд причин, которые актуальны до сих пор. Связаны они с доступностью некоторых плагинов для жкевери отсутствием хороших альтернатив для мутулса.
да ну с чего бы? тут скриптов то всего что в шаблоне лежит… а они в основном типа «наведи сюда -> сменится класс» «кликни сюда -> вызовется пхп функция»
Далее нужно было прикрутить туда highslide. О том, как сделал подробно описывать не буду, т.к. уже тоже есть готовые решения.
У меня, к сожалению, найти не получилось… Может вы ткнете носом в пример установки highslide на LS0.3 или расскажете более развернуто о том, как это сделали вы?
Спасибо
Перед созданием поста я произвел поиск по слову «highslide» и нашел этот топик. Там в коментах были какие-то решения, но что и как — не смотрел. Если возникнут проблемы, позже могу написать новую статью по этому поводу.
Спасибо за noindex, было бы вообще круто, указать списочек сайтов, который в ноиндекс не заключать. У редкого вебмастера 1 ресурс и было бы неплохо убирать noindex с сылок на «свои» ресурсы.
Это сделать не сложно. Но было бы логично интегрировать в модуль «Админ панель». Отпишите автору, может он и сделает. Дабы не городить модуль на модуль))
Уважаемый владелец сайта фотожаба, я так понимаю, что вы сделали watermark по этой инструкции (http://livestreet.ru/blog/1174.html). Скажите, а как вы сделали так, что на аватары не идёт наложение watermark? А то у меня на все картинки идёт наложение watermark.
33 комментария
Лично я в рамках этого движка не вижу преимуществ ни у одного продукта из этой тройки. По моему мнению, для ЛС подошёл бы любой из них
я преимущество тоже не вижу, но помоему жквери клёвей и понятней… разводить холиваров не буду, это просто в порядке флуда…
в принципе скриптов тут не много и у меня была даже мысль переделать под жквери всё… но это в такоооооой далёкой переспективе, что не считается
а тинимайс ужасен сам по себе… ну его
У меня на нем ЛС летает.
У меня, к сожалению, найти не получилось… Может вы ткнете носом в пример установки highslide на LS0.3 или расскажете более развернуто о том, как это сделали вы?
Спасибо
Зачем вы используете jQuery, если с самим LS уже грузится Mootools?