Blog

  • Автогенерация меню для DLE

    Автогенерация меню для DLE

    Очень часто сайты на DLE создаются с кучей категорий, их просто дохрена. Мало того что их нужно сначала создать, что в ДЛЕ не очень быстро делается, так еще и ручками прописать в main.tpl или где у вас там меню находится… Ах да и каждый раз после изменений приходится лазить еще и в шаблон… Мы же в 21 Веке живём…

    Эта функция сама генерирует всю структуру категорий учитывая вложенность.

    Код вставлять в /engine/modules/functions.php

    function CategoryMenu($categoryid = 0, $parentid = 0, $returnstring = '') {
            global $cat_info, $user_group, $member_id;
            $allow_list = explode( ',', $user_group[$member_id['user_group']]['cat_allow_addnews'] );
            $root_category = array ();  
            if( count( $cat_info ) ) {        
                    foreach ( $cat_info as $cats ) {
                            if( $cats['parentid'] == $parentid ) $root_category[] = $cats['id'];
                    }         
                    if( count( $root_category ) ) {
                            foreach ( $root_category as $id ) {                       
                                    if( $allow_list[0] == "all" or in_array( $id, $allow_list ) ) {   
    
                                      if ($cat_info[$id]['icon'] != '') $icon_src = $cat_info[$id]['icon'];
                                      else $icon_src = "/templates/Default/dleimages/no_image.jpg";
    
                                            $returnstring .= "<div class='custom-3'><div class='over160'><a href='/".$cat_info[$id]['alt_name']."/'><img alt='" . $cat_info[$id]['name'] . "' src='".$icon_src."'></a></div><h2 class='c4title'><a title='".$cat_info[$id]['name']."' href='/".$cat_info[$id]['alt_name']."/'>".$cat_info[$id]['name']."</a></h2></div>";
                                    }
                                    $returnstring = CategoryMenu( $categoryid, $id, $returnstring );
                            }
                    }
            }
            return $returnstring;
    }
    

    Далее необходимо в файл /engine/init.php, в самый конец добавить код:

    $tpl->set ( '{menu}', CategoryMenu(0, $category_id));
    

    Всё, теперь для вывода меню достаточно вставить в шаблон

    {menu}

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

  • Прогресс импорта mysql базы данных

    Прогресс импорта mysql базы данных

    Для того, чтобы видеть прогресс импорта больших файлов в базы данных mysql необходим пакет pv (Pipe Viewer).

    Установка pv на Cent OS:

    yum install pv
    

    (more…)

  • Решение проблемы мета данных в категории AiOSP (All in One SEO Pack)

    Решение проблемы мета данных в категории AiOSP (All in One SEO Pack)

    При работе с плагином “SEO всё в одном” или All in One SEO Pack столкнулся с тем, что при его установке, невозможно назначить отдельный Meta Title (заголовок страницы) для рубрики, что меня очень расстроила. Как всегда Google в помощь. После недолгих поисков нашел отличный плагин – Category SEO Meta Tags, который призван дополнить функционал AiOSP.

    Что же умеет делать Category SEO Meta Tags?

    Собственно плагин рассчитан только на установку meta данных для рубрики – Названия, Описания и Ключевых слов (title, descrip[tion, keywords).

    Но опять таки, после его установки появились очередные грабли. Из коробки CSMT не работает, так как нам нужно, в связке с AiOSP. В чем заключается проблема? В том что не меняется Тайтл рубрики, после его изменения. В первый раз когда я столкнулся с этой проблемой, времени было мало – я нашел в aioseop.class.php условие изменения Title рубрики или категории, кому как нравится, и закомментировал его. Чтобы Category SEO Meta Tags смог сделать своё нехитрое дело.

    Позже я обнаружил инструкцию по связыванию работы этих двух плагинов, причём я обнаружил на странице установки плагина, привожу вам её перевод:

    1. Необходимые изменения в All In One SEO Pack (Необходимы для поддержки функционала в рубриках)В файле aioseop.class.php найти 790 строку и после неё добавить строку ниже.
      $title = apply_filters('aioseop_category_title',$title);

      До:

      $title = $this->paged_title($title);
      $header = $this->replace_title($header, $title);

      После:

      $title = $this->paged_title($title);
      $title = apply_filters('aioseop_category_title',$title);
      $header = $this->replace_title($header, $title);
    2. Необходимые изменения в All In One SEO Pack (Необходимы для поддержки функционала на страницах тега)В файле aioseop.class.php найти 839 и 851 строку и после них добавить строку ниже.
      $title = apply_filters('aioseop_tag_title',$title);

      До:

      $title = $this->paged_title($title);
      $header = $this->replace_title($header, $title);

      После:

      $title = $this->paged_title($title);
      $title = apply_filters('aioseop_tag_title',$title);
      $header = $this->replace_title($header, $title);
    3. Необходимые изменения в All In One SEO Pack (Необходимы для поддержки функционала на страницах пользовательских таксономий)
      В файле aioseop.class.php найти 862 строку и после неё добавить строку ниже.

      $title = apply_filters('aioseop_tag_title',$title);

      До:

      $title = $this->paged_title($title);
      $header = $this->replace_title($header, $title);

      После:

      $title = $this->paged_title($title);
      $title = apply_filters('aioseop_tag_title',$title);
      $header = $this->replace_title($header, $title);

    После проведения данных изменений плагины начинают себя адекватно вести и не мешают друг другу.

    Дополнение №1

    Если вы проделали всё что написано выше и у Вас в рубрике пустой тег title, вам необходимо в настройках Category SEO Meta Tags заполнить поля, тогда всё будет o’kay:

    csmt

  • Полезные фишки, на прицеле FileZilla

    Полезные фишки, на прицеле FileZilla

    Когда я веду свои проекты, часто приходится после парочки изменений, залить всё с локалки на тестовый сервак, на помощь приходит фтп клиент.

    Отличный кроссбраузерный ФТП клиент FileZilla, к тому же бесплатный.

    Казалось бы что может быть проще? Перетащить пару файлов с одной части экрана в другую? А что если необходимые файлы лежат в абсолютно разных папках да еще и 5-10 подпапок?

    Придётся в левой стороне зайти в нужную папку и в правой проделать тоже самое. Недавно нашел как экономить как минимум половину времени поиска файлов, но структура папки проекта на локалке и на сервере должна быть одинаковая.

    Все что необходимо – включить опцию “Синхронизированный просмотр”. Предпоследняя кнопка в верхнем меню, либо горячие кнопки Ctrl+Y.

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

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

    Дополнение №1

    На всякий случай приведу горячие клавиши FileZilla

    F2 – Переименовать выбранный файл
    F3 – Поиск файлов на удаленном сервере
    F5 – Обновить текущий вид
    Tab – Переключиться к следующему пункту
    Alt+↓ – Отправить текущий выделенный элемент в другую панель
    Alt+↑ – Подняться на один элемент вверх в текущем виде
    Ctrl+C – Остановить текущую операцию
    Ctrl+D – Отключиться
    Ctrl+E – Показать список файлов, которые сейчас редактируются
    Ctrl+O – Сравнить дериктории
    Ctrl+Q – Выход
    Ctrl+R – Переподключиться к серверу
    Ctrl+S – Открыть Менеджер сайтов
    Ctrl+T – Скрыть или показать дерево директорий
    Ctrl+Y – Включение/выключение синхронизированного просмотра
    Enter – Отправить текущий элемент на другую панель, если это не директория. Если директория – открывает её.
    ↑ – Переместить указатель вверх в текущем виде
    ↓ – Переместить указатель вниз в текущем виде
    ← – Подняться на уровень выше в древовидном списке.
    → – Опуститься на уровень ниже в древовидном списке, если есть поддиректории. Первое нажатие раскрывает список поддиректорий, последующее нажатие переходит на элемент вниз.

  • Многофункциональный слайдер-карусель Сaroufredsel

    Многофункциональный слайдер-карусель Сaroufredsel

    В последнее время, всё чаще и чаще, клиенты заказывают размещение слайдера или карусели изображений на сайтах. После долгих поисков и тестирования кучи разных скриптов, таких так nivoSlider, jQuerySlider и т.п., в дебрях сети я нашел очень качественный, удобный и полезный скрипт, который и представляю Вашему вниманию – встречайте jquery скрипт CarouFredSel.

    Что мне в нём понравилось? В нём присутствует всё для быстрого создания качественной галереи. На сайте разработчика присутствует отличный конфигуратор, который позволяет в считанные минуты вставить правильный код на страницу для запуска галереи. Часто я сталкивался с тем, что многие скрипты не умеет правильно отрабатывать анимацию, рассчитывать расстояния при 100% ширине слайдера. КаруФредСель справляется с этим на отлично.
    Приведу пример запуска простейшей галереи, при минимуме настроек также необходим некоторый CSS код.
    Для запуска галереи необходимо подключить jQuery и собственно сам скрипт:

    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript" src="jquery.carouFredSel.js"></script>
    

    Создать HTML контент галереи, например с изображениями (отличительная особенность этой карусели в том, что она умеет работать с разными элементами, а не только с изображениями – Вы можете использовать практически любое перечисление одинаковых элементов внутри контейнера карусели):

    <div id="foo">
    <img alt="" src="img1.jpg" width="300" />
    <img alt="" src="img2.jpg" width="300" />
    <img alt="" src="img3.jpg" width="300" />
    <img alt="" src="img4.jpg" width="300" />
    <img alt="" src="img5.jpg" width="300" />
    <img alt="" src="img6.jpg" width="300" />
    <img alt="" src="img7.jpg" width="300" />
    <img alt="" src="img8.jpg" width="300" />
    </div>
    

    И запустить выполнение скрипта карусели при загрузке страницы:

    $(document).ready(function() {
    	$("#foo").carouFredSel();	
    });
    

    Вот так просто и быстро можно подключить отличный адаптивный слайдер на страницу.

    Чуть не забыл, ссылка на сайт скрипта – http://caroufredsel.dev7studios.com/
    А еще у этого слайдера есть гора примеров реализации!

    Надеюсь Вам этот слайдер понравится и Вы его полюбите, как и я в своё время.

  • Анонс 1С-Битрикс: Мобильное приложение 2.0

    Анонс 1С-Битрикс: Мобильное приложение 2.0

    Совсем недавно компания Битрикс анонсировала новый продукт, сразу забегу вперед и скажу что продажи еще не начались, но ценник уже озвучен – 47 900 деревянных.

    Продукт сей называется «1С-Битрикс: Мобильное приложение», версия №2. Позволю себе процитировать:

    1С-Битрикс: Мобильное приложениепозволяет быстро разрабатывать мобильные приложения под iOS и Android для сайтов, созданных на платформе «1С-Битрикс». Приложения публикуются в AppStore и Google Play.

    • Экономически выгодно
    • Высокая скорость разработки
    • Для разработки достаточно знать HTML5, JS, CSS
    • Это новое направление бизнеса для веб-студий

    Что же в себя включает сумма в немалые почти 50 тонн, давайте разберемся. При оплате кстати действуют все партнерские скидки.

    Цена в 47 900 рублей включает:

    • лицензию на выпуск 1 приложения
    • для iOS (iPhone и iPad)
    • и Android (телефоны и планшеты).

     

    Какие же вкусняшки ждут разработчиков мобильных приложений?

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

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

    1. Разработайте мобильную часть на своем сайте на HTML5 или JS или установите готовый шаблон мобильного интернет-магазина
    2. Установите на свое мобильное устройство версию для разработчиков (для тестирования)
    3. Убедитесь, что все работает правильно
    4. Купите лицензию на «1С-Битрикс: Мобильное приложение» (не забываем 47 900 рублей!)
    5. Получите лицензионный ключ и доступ
    6. Заполните данные приложения с использованием ключа:
      • Адрес сайта
      • Название, описание
      • Иконка
      • Сплэшскрин
      • Иконки кнопок и др.
    7. Создайте аккаунты на Google Play и iOS Dev Center и передайте нам (представляете сколько аккаунтов будет у Битрикса)
    8. «1С-Битрикс» опубликует от вашего имени готовое приложение в AppStore и Google Play

    Ну и собственно тезисно плюшки и описание того, как же это всё-таки устроено?

    • Разработка на html5+JavaScript
    • Выпуск обновления не требует перевыпуск мобильных приложений
    • Пользователи устанавливают приложение через AppStore и Google Play. Для них это обычное приложение
    • Мобильное приложение удобно для коллективной разработки, легко масштабировать выпуск. Все формы и изменения сразу отражаются на сайте
    • Обычные страницы платформы «1С-Битрикс», обычные компоненты. Только ряд дополнительных требований к верстке
    • Единая разработка для всех мобильных платформ
    • Скорость работы приближена к нативной
    • Гибкость
    • Комбинирование нативного интерфейса с html
    • Контроль над приложением через JavaScript
    • Единый сервис push-уведомлений

    Источник 1С:Битрикс

  • Смена деятельности сайта

    Смена деятельности сайта

    Довольно продолжительное время я не заходил на свой сайт. Банально не было времени… Хотя нет – вру, просто было лень. И хотя каждый раз блуждая по просторам рунета, а последнее время всё чаще буржунета, я ловил себя на мысли, что стоит делать хотя бы перепост, а в последствии и перевод статей наших иностранных коллег. Дабы держать под рукой полезную информацию, которая будет хорошо  доступна, актуальна и полезна не только мне но и всему сообществу. Пооэтому я решил, что…

    Сегодня я добавляю на сайт разделы по программированию, в которые буду писать всё что мне будет интересно, а за одно и Вам, мои дорогие гости. Отдельно создаю категорию для систем управления контентом – CMS (Content Managment System) или если брать за сокращение русский вариант – то звучит не очень – СУК, думаю стоит использовать более корректное сокращение – СУИ (Система Управления Информацией). А также разделы, на другие интересующие меня темы.

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

  • Наводнение в Таиланде и подорожание HDD

    Наводнение в Таиланде и подорожание HDD

    В связи со стихийными бедствиями в Тайланде, где расположена большая часть производственных мощностей мировых производителей электроники, резко подскочили цены на жесткие диски. В среднем цена выросла на 30-40%. Вот такое письмо рассылает своим клиентам компания Western Digital:

    Из-за наводнения в районах, прилегающих к столице Таиланда Бангкоку, где расположены крупнейшие промышленно-технические комплексы, объем производства жестких дисков WD в текущем квартале будет меньше обычного. Это наводнение нарушило нормальное функционирование инфраструктуры региона, в том числе транспорта и коммунальных служб; были затоплены объекты некоторых наших поставщиков и дома работников.
    Считаем необходимым сообщить вам, что в силу этих обстоятельств в ближайшем будущем мы не сможем обеспечить поставку жестких дисков в полном объеме. Наши специалисты и поставщики круглосуточно работают над тем, чтобы добиться максимальной выработки и обеспечить наличие компонентов, необходимых для удовлетворения потребностей вашей компании. Хотя наши предприятия в Таиланде на данный момент находятся в безопасности и в рабочем состоянии, мы приняли решение приостановить производство, чтобы защитить объекты и оборудование от проникновения воды. Некоторые из наших местных поставщиков в Таиланде были вынуждены ограничить, а в некоторых случаях и приостановить свою деятельность в силу различных причин: затруднения перевозки работников к рабочим местам, отключения электроснабжения, затопления объектов и т.д. В настоящее время мы совместно с поставщиками вырабатываем альтернативные решения, учитывающие безопасность наших работников и призванные обеспечить бесперебойную поставку комплектующих. Рады сообщить вам о том, что по данным на сегодня все работники WD в Таиланде, общим числом около 37 тысяч человек, находятся в безопасности.
    Так как события в Таиланде развиваются стремительно, пока еще нет возможности точно установить, степень и продолжительность их влияния на ход текущей работы компании.
    Информируем вас, что 20 октября все официальные дистрибьюторы Western Digital работают по обновленному прайс-листу. Было также принято решение отменить все действующие рибейтные программы для дистрибьюторов и партнеров второго уровня.
    Мы будем держать вас в курсе событий, происходящих с предприятиями в Тайланде. При необходимости вы можете незамедлительно обратиться к нам или вашему контактному лицу в офисе WD по любым возникшим у вас вопросам.

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

  • WD представляет самый емкий в мире внутренний жесткий диск

    WD представляет самый емкий в мире внутренний жесткий диск

    Сегодня мы получили информацию от WD, в которой представлен обзор самого объёмного на сегодняшний день внутреннего жесткого диска – целых 3 ТБ! А также обзор некоторых уникальных технологий Western Digital. Представляю его вашему вниманию:
    SATA-накопители WD Caviar Green емкостью до 3 ТБ отличаются малым энергопотреблением и лучшими в своем классе акустическими и температурными характеристиками. Эти накопители созданы на основе разработанной компанией WD уникальной технологии GreenPower Technology™. Они отлично подходят для ПК, внешних накопителей и других устройств, которым требуется уменьшенное энергопотребление, бесшумность и низкая рабочая температура.

    Внушительная емкость
    Компания WD первой в отрасли предлагает заказчикам жесткие диски внушительной емкости 3 ТБ.

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

    Низкая температура и бесшумность
    Применение технологии WD GreenPower Technology™ позволяет снизить рабочую температуру и уровень шума, что дает возможность создавать более надежные и практически бесшумные ПК и внешние накопители.

  • Группа вКонтакте и Твиттере

    Группа вКонтакте и Твиттере

    С сегодняшнего дня мы обзавелись своей группой  в социальной сети вКонтакте и Twitter. Приглашаем всех желающих пообщаться на компьютерные и отвлеченные темы.

    Группа вКонтакте – http://vkontakte.ru/club20163846

    Блог в Твиттере – http://twitter.com/qlabcomua