Мой любимый блог

Моя работа над WordPress, Joomla, LiveStreet, SEO. Мои разработки и многое другое о жизни …

Апр
05

Страница приветствия. Joomla 1.5

Posted under joomla, работа

Давненько не писал... Работы валом, да и сложных задач не было, о которых хотелось бы поделиться. Но вот приплыла верстка под 1.5 со страницей приветствия. Начинаю яндексить...

Скажу честно, одно говно. Я даже удивился, что за все время развития Joomla никому не пришло в голову правильного решения. Нет, нашел один сайтик кто мыслил как я, но решения поставленной задачи так и не нашел. После чего он отговорил заказчика от идеи страницы приветствия. А задача проста — при первом входе вывести страницу приветствие. Много пишут про взаимодействие index.html и index.. Т.е. при заходе на http://сайт.ру/ мы попадаем на index.html, а там переходим на index.. Ну что ж, алгоритм прост, но разумность его вызывает сомнения. Во первых прощай ЧПУ. Что не есть гуд. И где гарантия что случайным образом опять не попаду на index.html. Сразу приходит в голову работа с сессиями.

Вот тут оказывается никто не копался, а если и копался то быстро сдался. Я уже и сам начал убеждать заказчика, что это лишнее телодвижение, а тот в никакую. Хацю. Мое желание для себя решить поставленную задачу пересилило. Начинаем PHP кодинг.

Нашел мануальчик Joomla класс JSession. Изучение изложенного ничего не дало. Ползем в БД. Судя по таблице _session данные сессии time, data перезаписываются при каждом обновлении страницы. Понимаю, что придется влазить в ядро и делать хак для добавление еще одного параметра (дата создания сессии) в таблицу. Подобное я когда то проделывал с Joomla 1.0 для вывода счетчика (сессий, посетителей, поисковиков) в админке. Кстати о чем также хотел написать, да времени не было. А сейчас уже и не помню что там делал ))). Ой как не люблю эти вещи, надо писать карту изменений и при каждом обновлении добавлять хаки. Ну что ж выбора нет лезем в ядро.

В процессе изучения библиотеки session.php нарыл что время жизни, т.е. время создания и последнего обновления сессии записывается в md5 параметра date. Это очень хорошо! Будет универсальный скрипт и без хаков. Оказалось все просто, странно, что этого не нашел мне яндекс
Поехали:

1
2
3
4
$session =& JFactory::getSession();
$time_start = $session->get('session.timer.start');
$time_now = $session->get('session.timer.now');
if ( $time_now == $time_start ) { $start = true; } else { $start = false; }

Проще говоря. Если создание и обновление сессии идентичны присваиваем переменной истину иначе ложь. Ну а дальше можно с этим параметром делать все что душе угодно.

Для реализации страницы приветствия, этот скрипт можно поместить в index.php шаблона сайта. Где нибудь после

1
2
...
defined( '_JEXEC' ) or die( 'Restricted access' );

и вызвать проверку условия

1
2
3
4
5
6
7
...
<body>
<?php if ( $start == false ) { ?>
... основной шаблон ...
 <?php } else { include_once('start.php'); } ?>
</body>
...

start.php вкладываем в корень шаблона и прописываем там страницу приветствия.

Ну и еще в заключении расскажу почему я применил несколько проверок условий. Во первых создание переменной $start дает нам возможность использовать его в нескольких местах. Плюс ко всему к этому условию можно добавить еще одно в виде проверки посетителя. Т.е. Если пришел поисковой робот, то ему вообще не стоит показывать страницу приветствия. Или же если вход на сайт осуществляется с поисковой системы. Что то-же по сути логично. В итоге я сделал страницу приветствия только для прямых заходов.

Пользуйтесь на здоровье...

Popularity: 58% [?]

Апр
18

WebAsyst не работает на хостинге

Posted under CMS, бизнес, Мысли в слух, работа

Для тех кто не в теме: Не знаю на сколько он крут, но по моему самый популярный интернет-магазин в Рунете. А ну и для тех кто еще в меньшей степени в теме: это .

Работы валом, и времени на написание статей совсем нету. Но этот самый злополучный webAsyst отнял у меня три дня драгоценного времени. В виду эмоциональной особенности решил написать как я с ним боролся.

Получил заказ на перенос/создание интернет-магазина на новый домен и с изменением юридической привязанности. Как я понял там похоже разделение бизнеса. Но не в этом суть. Магазин стоит на . Что бы не делать лишних телодвижений мы с бизнес-партнером решили оставить как есть, то бишь оставим ядро в неприкосновенности. Я как программист привык все отрабатывать на локальном сервере — экономит много времени и сил. Скачал 279 сборки, нул-версия. Импортировал базу с более чем 3000 позиций и описаний к ним + фото. Все отработало, более менее изучил движок, не лез только в подводные камни.

Погулял по движку и обрадовался, что все легко и не займет много времени. Сделал образ сервака и БД. Залил на новый хостинг + импорт БД. А мне в ответ — фиг вам. В общем покапался и понял что скорей всего надо будет ставить новый движок. Т.к. он генерит рабочие папки из имени БД, ну и так далее. В принципе на локале NULL версия ничем не отличалась от лицензии. Принял решение оставить NULL, как то жалко выкидывать 250$ за лицензию, при том что этот пункт не оговаривался и вообще не было привязанности именно к WebAsyst. А лицензионный номер хранится в installer'е куда доступ только у админа. Админ в данном случае компания которая им до нас оказывала услуги по создания магазина. Как я понимаю лицензию ставили свою же, т.к. доступ к installer'у не предоставили.

Приступил к установки нового движка. Залил, перешел к установке. Движок рекомендует иметь права root к базе данных. Таких привилегий хостинг обычно не предоставляют. Конечно же можно обратиться в тех. поддержку что бы оказали вам часок внимания и помогли с правами root установить движок. Но не хочется по такой мелочи выдрачивать мозг поддержке. Оставил эту идею на самый крайний случай.

В общем с горем попалам установил. Но вот беда не работает админка. грузится менюшка, а остальные компоненты увы не.

Начинаю гуглить (яндексить).

Запрос: WebAsyst не работает админка

Результат: один шлак. Правда одна выдача вела на форум официального сайта.

Некий bes 2008–12–29 01:37 спрашивает:

Всем привет! В который раз уже сталкиваюсь с весьма
непонятной мне проблемой. При открытии админки меню
видно, а вот ниже уже ничего нет. Вместо дерева категорий,
например, просто пустое место. И так по всем пунктам
меню. В логах написал 
implode() [<a href="function.implode">function.implode</a>]: Invalid arguments passed File: /shop/kerne/dbfunctions_cmn.php Line: 4873 Error #: 2

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

Все симптомы как у меня. В ответ тишина, если честно меня шокировало. Как это так форум поддержки и тишина. Спустя 1.5 года. Ужос.

Ну делать нечего, скачиваю сборку 287. Заливаю. И тут на тебе. При апгрэйде БД опять же выкидывает ошибки. Захожу в Мускул, а там картина из 106 таблиц остается 6. Ужос, что за движок??? Пишу в тех.поддержку. Ответили на удивление очень быстро:

Здравствуйте,
 
Консультации по техническим вопросам оказываются при 
обращении в службу поддержки с зарегистрированного 
адреса электронной почты, т.е. адреса, на который вы 
регистрировали покупку скриптов или онлайн-аккаунт 
WebAsyst. Если вам удобнее обращаться в нашу службу 
поддержки с других адресов, добавьте такие адреса в 
свой профиль, как описано ниже:
 
Если вы приобрели скрипты WebAsyst или услугу 
виртуального хостинга Архост, войдите в Центр Заказчика 
my.аrtiсиs.ru и добавьте адреса в разделе "Настройки".
 
После добавления адресов отправьте свой запрос повторно.
 
С уважением,
-----
Юрий
Служба поддержки WebAsyst

Первая мысль, вот монополисты. Хотя потом обмозговав ответ, понял что WebAsyst то платный и FREE версий то нету, а NULL это ломаная. Неужели придется покупать лицензию?

Ну что ж  все шло к тому что надо ставить + и все верстать руками. Ох ужос.

Но я настырный по натуре и не могу быть остаться поверженным. Думаю дайка попробую и на локале обновить сборку, тем паче что там у меня права к БД root. Обновляюсь, все пашет. Делаю бэкап БД.

Откладываю дело на следующий день.

С чистыми мыслями приступил к очередному изнасилованию WebAsyst. Долго мучал разные варианты. И решил раз на локале все работает, а на хостере нет. Значит мне мои права не позволят корректно поставить движок. Но специфика корней движка. Понял что на локале надо на 100% повторить хостинг. Создаю новое доменное имя с теми же пользователями и именем БД, но с правами root. Устанавливаю сборку 287 и снова выскакивает ошибка с БД. Лезу в мускул, опять похерел таблицу. Но не падая духом восстанавливаю последнюю удачную копию БД. И вуаля все работает.

Перехожу к хостингу. Заливаю файлы с локала + удачную БД. Выставляю на необходимые папки и файлы права доступа 777

Хоп. Сайт работает. Админка. Работает. Я в экстазе, доволен как слон, что поборол его.

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

На самомо деле у меня выскакивало очень много различных ошибок, которые так же обсасываются на форуме, но не одного ответа от поддержки. Все завязано на лицензировании. Но хоть поверхностно зная можно проанализировать логи и понять что вызывает ошибку. Чаще всего это доступ к файлам и каталогам. В общем установив права на запись ошибки исчезали. Чаще всего это файлы с расширением .xml и .log

И так теперь меньше текста и ближе к алгоритму борьбы. Как я понимаю что меня помогло его побороть.

Установка на локале стабильной 279  сборки, после АП до 287 и копирование БД. На локале создавалась точная копия хостинга. Т.е. имя домена и логин с именем к БД как на хостинге, даже использовал те же пароли. На локале всему давал права root. Копию локала заливал на хостинг выставлял где надо права на изменения (описано в инструкции к установке) + дополнительно на некоторые .xml Переходил в браузер и проверял все настройки и сохранял. Все работало и работает. И еще: сборка 279 — все гуд,

Удачи в борьбе с паразитом по имени webAsyst.

Popularity: 36% [?]

Ноя
19

Монетизация для Joomla. (компонент и модуль)

Posted under CMS, joomla, Заработок

Получил заказ на монетизацию сайта antecombl.com в стиле pr-cy.ru

top5 fulltop

Сее чудо пока лишь интегрировано в (до версии 1.5). В пакет входит компонент и модуль для вывода сквозных ссылок. Система построена по принципу «плати и властвуй». Тобишь пополняй счет ссылки и продвигайся в топ5, которые в свою очередь становятся сквозняками сайта.

Система полностью автоматизирована. В роли платежного посредника выступает robokassa.com, на прямую с мерчантом решил не работать, т.к. не все имеют персональные и выше аттестаты.

Пока ссылки вечные, в будущем планируется добавить биллинг по времени. То есть спустя месяц, со счета ссылки будет сниматься какая-то сумма, что в свою очередь должно оживить работу новых рекламодателей.

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

Кому интересно кричите, за чисто символическую сумму продам сее творение.

Popularity: 32% [?]

марта
13

FireStats статистику устанавливаем на Joomla

Posted under CMS, joomla, работа

firestats_joomlaДавно уже пользуюсь на ’е совместно с Analytics. Но заметил большие расхождения между ними! Судя по уникальным посетителям, Гугл обманывает меня порядком в 2–3 раза. С чем это связано? В первую очередь из-за самих посетителей. Многие используют браузеры которые отключают или кэшируют картинки и скрипты. А это приводит к тому, что статистика просто не собирается из-за отсутствия обращения к картинки или скрипту статистического сервиса. Вот и вся капуста.

Вот тут то и назрела в голове идея установки FireStats на , тем более что разработчики гарантируют работу и на ней. Скачал паке FireStat и . Что делать дальше? Самое интересное, что потраченный день на поиск мануалки в инете прошел за зря. Четких инструкций не нашел, даже поверхностно ничего описано не было. Решил разбираться сам. Read the rest of this entry »

Popularity: 100% [?]

марта
11

Thumbimage — плагин превью всплывающих картинок для платформы Joomla.

Posted under CMS, joomla

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

На днях у меня появился заказ на доработку уже готового мамбота «», автор оригинальной версии — Adeptus, более известный своим рестайлингом и доработкой форума для (версия Адептуса во много раз превосходит оригинал и регулярно обновляется).

И так! Что было проделано: функция осталась прежней, картинки все так же всплывают в красивом виде. Но в оригинальной версии мамбота есть большой недостаток, картинки грузились оригинального размера, а мамбот просто сжимал размеры превьюшек. Такой вариант моему заказчику не подходил. В результате и родилось задание для создания превьюшек уменьшенного размера, а вывод оригинального. Read the rest of this entry »

Popularity: 81% [?]