Сообщение об ошибке

  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_prepare() (строка 126 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_prepare() (строка 131 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_process() (строка 231 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_prepare() (строка 126 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_prepare() (строка 131 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_process() (строка 231 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_prepare() (строка 126 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_prepare() (строка 131 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_process() (строка 231 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_prepare() (строка 126 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_prepare() (строка 131 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_process() (строка 231 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_prepare() (строка 126 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_prepare() (строка 131 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_process() (строка 231 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_prepare() (строка 126 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_prepare() (строка 131 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_process() (строка 231 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_prepare() (строка 126 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_prepare() (строка 131 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_process() (строка 231 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_prepare() (строка 126 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_prepare() (строка 131 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_process() (строка 231 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_prepare() (строка 126 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_prepare() (строка 131 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_process() (строка 231 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_prepare() (строка 126 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_prepare() (строка 131 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_process() (строка 231 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_prepare() (строка 126 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_prepare() (строка 131 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_process() (строка 231 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_prepare() (строка 126 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_prepare() (строка 131 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_process() (строка 231 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_prepare() (строка 126 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_prepare() (строка 131 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_process() (строка 231 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_prepare() (строка 126 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_prepare() (строка 131 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_process() (строка 231 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_prepare() (строка 126 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_prepare() (строка 131 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_process() (строка 231 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).

Web-development

test

PrestaShop 1.5 и 404 ошибка(страница не найдена) при клике по категориям

prestashop 404 error
Пришлось по колдовать над решением этой загадочной 404 ошибки(страница не найдена) при клике на категорию в PrestaShop 1.5.4. Некоторые люди правили все путем манипуляции с базой данных. У меня проблема решилась куда как проще.

test

Smarty 3 собственная функция на примере сравнения дат текущей и заданой

Smarty logo

Приветствую, читатель!

Как-то раньше я писал заметку о локализации проекта с помощью Smarty, в этот раз небольшая заметка о том как создавать собственную функцию в все том же Smarty 3. За пример будет взята разница между датами. Если точнее, у нас в базе храниться дата, например до которой материал будет висеть на странице(к примеру акция или элемент расписания из календаря). Наше дело вывести сколько времени осталось висеть этой записи на виду.

test

Липнущее горизонтальное меню на jQuery и CSS

Приветствую, читатель!

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

test

Генерация своего Sitemap XML и отправка(ping) его на Google и Bing в Kohana 3

Map

Приветствую, читатель!

Сейчас я тебе расскажу как просто и легко генерировать Sitemap XML стандартными средствами PHP, создать задачу для Cron с помощью модуля Minion и отправлять сведения об обновлении Sitemap на Google и Bing. Хух... Описать все это было дольше чем реализовать. Все это будем делать на фреймворке Kohana 3.

Итак, что такое Sitemap?

Sitemaps — XML-файл с информацией для поисковых систем (таких как Яндекс, Google, Yahoo, Ask.com, Bing) о страницах веб-сайта, которые подлежат индексации. Sitemaps может помочь поисковикам определить местонахождение страниц сайта, время их последнего обновления, частоту обновления и важность относительно других страниц сайта для того, чтобы поисковая машина смогла более разумно индексировать сайт.
Использование протокола Sitemaps не является гарантией того, что веб-страницы будут проиндексированы поисковыми системами, это всего лишь дополнительная подсказка для сканеров, которые смогут выполнить более тщательное сканирование сайта.
(с) Википедия

Что такое XML вы можете прочитать там же или в других источниках. Если в кратце то это текстовый файл содержащий определенную структуру заключенную в теги(в общем все едино, что HTML, что XML, с небольшими отличиями).

Итак, как говорит Википедия, Sitemap должен...

test

Kohana 3 framework + Smarty 3 = i18n веб сайт

Локализация

И снова приветствую тебя, уважаемый читатель!

Локализация приложения вполне часто может быть необходимой. Тоже дело касается и сайтов. Но одно дело когда на сайте не используется шаблонизатор, другое - когда используется. В моем случае стало необходимостью создать локализацию сайт, за базу были взяты фреймворк Kohana 3 и шаблонизатор Smarty 3.

Небольшой отступ.

Я как и многие другие программеры до поры, до времени не приветствовал использования шаблонизатора, дополнительные прослойки, костыли и прочее, все это как минусы, но когда речь о скорости разработки сайта, удобства верстки и других плюшек, тут все принимает совсем другой оборот. Да и просто тошно иногда всегда и везде видеть PHP код, а так чистый PHP для логики с использованием возможностей фреймворка и разметка Smarty в представлениях.

Вернемся к делу.

Установка шаблонизатора Smarty 3 на Kohana 3.3 у меня вызвала достаточно много проблем, аж пока я не вспомнил про то что начиная с версии 3.3 в Kohana все файлы классов должны начинаться с большой буквы... До этого момента у меня начал сильно закипать мозг и я потратил пару часов времени. Но, если будут пожелания, процесс подгонки модуля Smarty 3 для Kohana 3.3 я напишу отдельной статьей.

Итак, есть как минимум три варианта локализации веб-сайта.

test

Drupal 7: пишем собственный модуль подписки на рассылку по Email!

Здравствуй, дорогой читатель!

В этой статье я покажу тебе как создать простой и эффективный модуль подписки на рассылку по Email для CMS Drupal 7, но в принципе все тоже в большей степени можно будет использовать и для других CMS, или даже просто как часть кода собственного проекта с небольшим изменением! Все будет просто и легко для понимания! Не сложный код и комментарии к нему. Ранее я написал статью, которая содержит большую часть присутствующего здесь кода, но... Эта статья полнее и содержит приятные плюшки. Для желающих посмотреть различия - смотреть тут.
Более того, дорогой читатель, в этой же статье ты увидишь еще несколько ссылок на другие статьи, в которых восполнишь или закрепишь часть пробелов в знаниях, а может быть просто увидишь еще одну точку зрения на написание модулей, что тоже не будет лишним! Ведь каждая прочтенная статья расширяет кругозор!

Сам модуль скачать можно по ссылке: eSubscribes
Более свежую версию модуля и описание изменений в его работе смотрите в статье Новая версия eSubscribes - модуля подписки/рассылки email новостей/статей.
Может быть когда-нибудь выложу на Drupal.org, но это будет немного позже.

Итак...

Почему я начал писать этот модуль?

Потому что ни один модуль для Drupal 7 рассылки по email не показался мне удобным, слишком много настроек не понятно для чего, нам же нужен просто удобный модуль, который позволяет:

  1. Подписаться на добавления материалов на сайте
  2. Отписаться с добавления материалов на сайте
  3. Отправлять рассылку при добавлении новых материалов на сайте
  4. Вывести блок подписки/отписки в нужном нам месте

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

test

Kohana 3 framework: роутинг(routing) из базы данных mysql

Привет, дорогой читатель!

И вот он снова я. А снова я расскажу тебе о том как быстро и просто сделать динамический роутинг для фреймворка Kohana 3! Немного пошаманив и написав каких-нибудь пару десятков строк кода мы впихнем весь роутинг коханы в базу MySQL, а при желании и в любую другую! Для чего? Ну хотя бы для того чтобы постоянно не дергать bootstrap.php для добавления путей! А если у нас еще и CMS или что-то в этом роде, модульное, сделанное на базе Kohana 3, то динамически изменяемый роутинг нам сильно пригодиться!

Содержание

  • Что мы будем делать?
  • Для чего это нужно?
  • Еще один SQL коннект при загрузке каждой страницы, дополнительная нагрузка на сайт...
  • А сможем ли мы использовать ту же гибкость как и в файлах?
  • Идеально ли такое решение для использования?
  • Схема таблице в базе данных
  • Добавляем первый роут в базу данных MySQL
  • Добавляем код-обработчик роутинга загружаемого из базы данных MySQL
  • Итог

Что мы будем делать?

В этой статье мы научим Kohana 3 framework считывать данные о роутинге из базы данных. В нашем случае это будет MySQL, но не думаю что портировать на другие СуБД представит хоть какую-то сложность.

Для чего это нужно?

Если у Вас сайт предполагает наличие динамически подключаемых модулей или быстрой перезаписи роутинга на лету, не меняя содержимого файлов, то работа с базой данных необходима.

Еще один SQL коннект при загрузке каждой страницы, дополнительная нагрузка на сайт...

При правильном подходе нет. У нас не будет частого обращения к MySQL с нашего сайта. Мы не будем делать выборки при запросе пользователем каждой страницы. Вместо этого мы сделаем выборку всех значений роутинга и закешируем на нужное нам достаточно большое время, к примеру 60 секунд или больше. За эти 60 секунд к базе мы обратимся единожды. На все время жизни кеша данные будут получаться из кеша, что может быть нам еще выгоднее, к примеру если кеш храниться в памяти, а не на жестком диске. Производительность только увеличиться. Более того мы закешируем весь роутинг. Не менее важно то что мы в нашем случае сможем использовать как базу данных , так и файловое содержимое роутинга в файле bootstrap.php, например для критически важных моментов сайта, чтобы при отключении базы мы могли ссылаться на страницу, к примеру "Сайт находиться на техническом обслуживании."

А сможем ли мы использовать ту же гибкость как и в файлах?

Легко. Мы просто сделаем подстановку значений из базы в стандартный для нас синтаксис. Сможем так же использовать регулярные выражения. Более того, используя базу данных мы указываем хранить уникальные значения для имени роутинга и самого регулярного выражения роутинга, таким образом ограждая себя от ошибки из-за невнимательности - добавление роутов с одинаковыми именами или же одинаковыми регулярными выражениями, указывающими на одинаковый путь обработки.

Идеально ли такое решение для использования?

Нет идеальных решений. Это только технический пример, как использовать Kohana 3 framework и при этом брать данные о роутинге из базы данных MySQL. Наверняка есть что улучшать.

test

Drupal 7: Пишем собственный модуль рассылки по email при добавлении материалов на сайт используя SwiftMailer

Статья была обновлена, добавлены зависимости, блоки вывода подписки и архив с самим модулем. Смотреть здесь

Содержание

  • Предисловие
  • Что будем использовать?
  • Что такое подписка на рассылку новостей?
  • Прошлые статьи по написанию модулей для Drupal 7
  • Файловая структура модуля
  • Содержимое файлов ( c комментариями)
  • esubscribes.info
  • esubscribes.install
  • esubscribes.module
  • Итог

Предисловие

Озадачился я поиском модуля подписки по email при добавлениях материалов сайт. Так вот, хотелось чего-то простого, рабочего и не напряжного. Но увы, найти чего-то подпадающего под все эти критерии не удалось. Но что нам стоит самим написать такой модуль? Заранее извиняюсь за грамматику английского... Хотя возможно не только английского :-D

Что будем использовать?

- Стандартные средства drupal 7(меню, action, создание формы)
- Библиотеку работы с почтой SwiftMailer

Что такое подписка на рассылку новостей?

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

test

Google Page Rank - таблица значений, или что же все-таки значат заветные циферки?

Таблица PR

Следующая таблица показывает примерную зависимость PR вашей страницы от PR и количества ссылающихся на нее других страниц, а также равноценность разного количества страниц с разным PR. Подразумевается не более 10 внешних ссылок на каждой странице.
Pagerank
Так, например, чтобы получить PR 7, нужно хотя бы 3 ссылки с PR8 или полтысячи ссылок с PR5.

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


Взято тут.

test

SEO: Drupal 7 отправка Sitemap(карты сайта) поисковикам

Карта сайта

Sitemap - карта сайта, рассказывающая поисковикам о том, что у вас за материалы есть на сайте. Много где пишут что поисковые системы их могут не учитывать, но на самом деле этот файл мало где не учитывается. Более того, он позволяет лучше понимать поисковым движкам где у вас и какой материал находится.

Пример из жизни.

Поисковый робот индексирует статьи и вместо того чтобы блок релевантных статей учесть просто как релевантные ссылки, учитывает их как часть материала, а с учетом того что блок находится вверху, над содержимым статьи, так вообще происходят казусы. Человек видит при поисковой выдаче что статья есть на сайте, переходит на нее, в это время блок релевантных сообщений меняет свое содержимое и ссылка ведет на совсем другую статью. У пользователя возникает однозначный вопрос "Куда я попал?". Можно закрыть блок для индексации, но:

  1. Нужно лезть в код модуля. Вы при обновлении модуля скорее всего забудете об своих правках.
  2. Это все-таки релевантные ссылки, ведущие на схожие статьи вашего сайта. А значит поисковику желательно все же их видеть
  3. Нет единого тега, унифицированного для всех поисковых систем, у гугла они свои, у яндекса свои.

Такой неприятный казус. Все же, вероятнее всего, имеет смысл внести в код модуля указание поисковым системам игнорировать содержимое. Судя по всему, со временем поисковик все-таки понимает что происходит. В большей степени XML Sitemap помогает справится с этой проблемой, указывая по какому адресу лежит статья с ее конкретным названием.

test

Google PageRank, что он означает?

Google PageRank

Задумывались ли Вы что значит оценка Google PageRank? 1,2,3 и более, о которых так много говорят? Я тоже задумывался. Хотелось бы знать как можно больше. PageRank в отличии от ТиЦ Яндекса дается на каждую страницу, а ТиЦ(тематический индекс цитирования) на весь домен, то есть ТиЦ это совокупность оценок Вашего сайта.

Поиски начались. Однозначно что практически никто ничего не знает, все что знают однозначно так это то что шкала Google PageRank от 1 до 10 и что 0 означает что "вас не слушают/читают". Почти... пару человек в день не в счет видать ))

Из Википедии
PageRank (пэйдж-ранк) — один из алгоритмов ссылочного ранжирования. Алгоритм применяется к коллекции документов, связанных гиперссылками (таких, как веб-страницы из всемирной паутины), и назначает каждому из них некоторое численное значение, измеряющее его «важность» или «авторитетность» среди остальных документов. Вообще говоря, алгоритм может применяться не только к веб-страницам, но и к любому набору объектов, связанных между собой взаимными ссылками, то есть к любому графу.

test

Быстрое создание макета страницы с помощью CSS фреймворка Twitter Bootstrap

Еще одно хорошее видео на просторах youtube, в котором показано как легко и быстро с помощью CSS фреймворка Twitter Bootstrap создать макет страницы. В общем становиться понятно зачем нужны CSS фреймворки и что они из себя представляют.

test

Создание горизонтального выпадающего меню с помощью JQuery и CSS(Видео)

Понравилось видео на youtube, в котором автор детально показывает как создать горизонтальное выпадающее меню с помощью JQuery и CSS. Как основа для собственного меню более чем пойдет.

test

JQuery: Советы и трюки(Tips & Tricks)

Привет, дорогой читатель!

Ну кто сейчас не использует jQuery? Да много кто. Вот именно по этому расширять свои знания по jQuery можно и нужно! И тут я опишу некоторые советы и трюки, которые тебе же могут помочь или просто облегчить жизнь!

JQuery: Советы и трюки

jQuery — библиотека JavaScript, фокусирующаяся на взаимодействии JavaScript и HTML. Библиотека jQuery помогает легко получать доступ к любому элементу DOM, обращаться к атрибутам и содержимому элементов DOM, манипулировать ими. Также библиотека jQuery предоставляет удобный API по работе с AJAX.(c) http://ru.wikipedia.org/wiki/JQuery

test

Kohana 3: Полезные трюки(Tips & Tricks)

Kohana 3.1 Полезные трюки(Tips & Tricks)

Kohana 3.1 вышла некоторое время назад и выглядит довольно стабильно. Хотя совместимость со многими модулями версии 3.0 сломана, требуется немного работы чтобы они заработали и в версии 3.1. Некоторые из советов возможно будет использовать и для версий выше 3.1.

Страницы

Subscribe to RSS - Web-development