Web-мастеринг

Подписаться на эту рубрику по RSS

Сброс пароля администратора в MODX Evolution

Апрель, 18th 2018

сброс пароля MODX Evolution

Уже не раз пришлось столкнуться с ситуацией, когда требовалось сбросить администраторский пароль на MODX Evolution. Мой метод довольно простой, но требуется непосредственная работа с базой данных MySQL (например через phpmyadmin, который предоставляется практически на любом хостинге).

читать полностью →

Парсер XML -> JSON -> MySQL на PHP. Как я переносил комментарии из HyperComments в базу данных MaxSite CMS.

Декабрь, 08th 2017

программирование на macbook

Программирование - занятие довольно интересное, особенно когда начинает получаться и видишь желаемый результат. Я не считаю себя программистом на php, однако время от времени приходится изобретать костыли и велосипеды чтобы решить какую-то задачу. Конечно, хочется нормально освоить данный язык, чтобы не убивать целый вечер (а то и не один) на написание своих маленьких скриптов, но времени на всё катастрофически не хватает.

Два года назад, для пробы, в качестве дополнительной системы комментариев, я установил HyperComments. В выборах участвовали также DISQUS, VK и Cackle, и с тех пор, особых изменений на данном рынке не случилось, разве что Cackle стал чуточку привлекательнее.

читать полностью →

Нужен ли https блогам?

Ноябрь, 10th 2017

нужен ли блогам https

Прошёл почти месяц с того момента, как блог переехал на протокол https. Яша сменил главное зеркало сайта, прошли апдейты поисковой базы и ТИЦ, потому уже можно сделать первые выводы о результатах переезда.

читать полностью →

Продвижение блога когда не видно результата своих трудов. Что же я делаю не так?

Октябрь, 26th 2017

Продвижение блога когда не видно результата своих трудов

Прошло почти две недели с того момента, как я решил в корне всё поменять и основательно заняться блогом. За эти дни, действительно, проделана не малая работа и для себя открыл много нового, на что просто не обращал внимания раньше. Переезд на протокол HTTPS ещё не завершился, но как оказалось, движется в правильном направлении, хотя уже были сомнения после резкого снижения посещаемости в течение пары дней.

читать полностью →

Если бы я знал это чуть раньше... Основные моменты и ошибки, связанные с индексированием сайтов.

Октябрь, 22nd 2017

Основные моменты и ошибки, связанные с индексированием сайтов.

Ссылка от Яндекса для участия в седьмой Вебмастерской мне так и не пришла (зачем тогда рассылали приглашения?). Ладно, я не гордый, позже посмотрю в записи - всё равно далеко не все темы были мне интересны. Зато синоптики в этот раз не обманули и у нас, всё-таки, выпал первый снег.

Раз уж настроился в эти выходные научиться чему-то новому, то решил ознакомиться с темами прошлогодней конференции. И надо же как совпало, что один из докладов был прямо по той теме, которая, именно в данный момент, не даёт покоя. Из мастер-класса "Настраиваем индексирование: от теории к практике" удалось из первых рук, от сотрудника Яндекса, подробнее узнать о правильных настройках файла robots.txt, как ускорить индексирование сайта, а также откуда берутся дубли страниц и как предотвратить их появление.

читать полностью →

Яндекс приглашает на седьмую Вебмастерскую

Октябрь, 20th 2017

Вебмастерская Yandex

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

читать полностью →

Переезд на HTTPS и снова пригорает от проблем с MaxSite CMS

Октябрь, 16th 2017

переезд на HTTPS

Заметили сегодня замочек в адресной строке? Это не просто так - в блоге, наконец, начались масштабные изменения, и какое-то время его будет не хило колбасить в поисковой выдаче. Но, обо всём по порядку...

читать полностью →

Эпический косяк в блоге и канонические url

Октябрь, 15th 2017

эпический косяк в блоге

Начав разбираться и наводить порядок в блоге, обнаружил прямо-таки эпический фэйл, который присутствует на сайте с времен первой смены CMS. Изначально, данный проект стартовал на самом популярном и по сей день, блоговом движке, WordPress. Но мне ведь подавай альтернативу, и дернуло перейти на MaxSite CMS, на тот момент довольно активно развивающийся и с весьма неплохим функционалом. Тут не гнались за лишними наворотами и сам движок был заметно легче и шустрее того же WordPress.

читать полностью →

"Арабские" цифры или Почему арабы пишут буквы справа налево, а цифры - наоборот.

Август, 30th 2017

арабский язык

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

На днях меня попросили сделать арабскую версию одного сайта, материалы все предоставлял заказчик. Надо сказать, что с арабским то этого, я столкнулся лишь один раз, когда восстанавливал Asus All-in-one PC c флешки и получил Windows 8.1 на арабском.

читать полностью →

Скрипт для обновления превью товаров miniShop2

Август, 09th 2017

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

Для выполнения скрипта потребуется установить дополнительный пакет Console, в нём уже и запускать сам скрипт.

<?php
$step = 5;
$offset = isset($_SESSION['galgenoffset']) && $_SESSION['galgenoffset'] ? $_SESSION['galgenoffset'] : 0;
$miniShop2 = $modx->getService('minishop2');
$modx->setLogLevel(MODX_LOG_LEVEL_ERROR);
$q = $modx->newQuery('msProductFile', array('parent' => 0));
$total = $modx->getCount('msProductFile', $q);
$q->sortby('product_id', 'ASC');
$q->sortby('rank', 'DESC');
$q->limit($step,$offset);
$resources = $modx->getCollection('msProductFile', $q);
foreach ($resources as $resource) {
    $modx->runProcessor('mgr/gallery/generate', array('id' => $resource->id),
        array('processors_path' => $modx->getOption('core_path').'components/minishop2/processors/'));
}
$_SESSION['galgenoffset'] = $offset + $step;
if ($_SESSION['galgenoffset'] >= $total) {
  $sucsess = 100;
  $_SESSION['Console']['completed'] = true;
  unset($_SESSION['galgenoffset']);
} else {
  $sucsess = round($_SESSION['galgenoffset'] / $total, 2) * 100;
  $_SESSION['Console']['completed'] = false;
}
for ($i=0; $i<=100; $i++) {
    if ($i <= $sucsess) {
        print '=';
    } else {
        print '_';
    }
}
$current = $_SESSION['galgenoffset'] ?
           $_SESSION['galgenoffset'] :
           ($sucsess == 100 ? $total : 0);
print "\n";
print $sucsess.'% ('.$current.')'."\n\n";

Обновление MODX Evolution до последней версии

Январь, 29th 2017

обновление MODX Evolution до последней версии

Несмотря ни на что, MODX Evolution по прежнему жива (хотя сейчас, в большей степени, все проекты веду на ветке Revolution). Система хороша как для небольших сайтов и сайтов-визиток, так и вполне себе серьезных проектов, плюс обладает очень шустрой и в последних версиях весьма красивой панелью управления. Единственное, не рекомендовал бы на её основе делать интернет-магазин. Сегодня расскажу, как обновить систему MODX Evolution до последней версии (на данный момент 1.2.1).

читать полностью →

301 редирект. Шпаргалка по mod_rewrite

Декабрь, 17th 2016

Любой вебмастер не раз сталкивался с необходимостью сделать 301 редирект (при изменение адреса страницы, склейке доменов, удалении дублей). Один из самых простых способов задания 301 редиректа - использовать механизм mod_rewrite, позволяющий переобразовывать URL «на лету».

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

читать полностью →

Как изменить кодировку базы MySQL из Win-1251 в UTF-8?

Ноябрь, 12th 2016

Попросили тут перенести сайт на другой хостинг, а он, как оказалось, до сих пор жил в кодировке cp1251. Вроде ничего страшного - работает, но уж больно по колхозному это в наше время и давно пора перейти на UTF-8.

Перед любыми действиями с базой данных ОБЯЗАТЕЛЬНО СОЗДАЕМ РЕЗЕРВНУЮ КОПИЮ!

Самый быстрый и простой способ - пересохранить копию базу данных в любом текстовом редакторе (sublime text, notepad++) в нужной кодировке и импортировать на место старой. Можно проделать данную операцию используя SQL-запросы в phpMyAdmin.

ALTER DATABASE имя_вашей_базы_данных charset=utf8;

Данный запрос конвертирует базу в указанную кодировку. Кроме этого потребуется конвертировать и сами таблицы. Запрос для конвертации таблицы базы данных:

ALTER TABLE `db_name`.`table_name` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

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

SELECT CONCAT(  'ALTER TABLE `', t.`TABLE_SCHEMA` ,  '`.`', t.`TABLE_NAME` ,  '` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;' ) AS sqlcode
FROM  `information_schema`.`TABLES` t
WHERE 1
AND t.`TABLE_SCHEMA` =  'My_DB_for_convert'
ORDER BY 1
LIMIT 0 , 90

Остается только скопировать результаты и вставить их в форму нового SQL запроса.

Потерянные заказы в Opencart (ocStore). Вылавливаем баги системы.

Сентябрь, 02nd 2016

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

Суть в следующем, на одном интернет-магазине на движке ocStore (Opencart) обнаружился такой баг - все заказы попадали в "потерянные". В админке они находились если перейти в Продажи > Заказы и установить фильтр Статус - "Потерянные заказы".

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

читать полностью →

Google Chrome и Firefox прощаются с Flash и переходят на HTML 5

Август, 11th 2016

Google Chrome и Firefox отказываются от Flash

Свершилось! Вчера Google официально заявила о скором прекращении поддержки Flash в своем браузере Google Chrome. Еще в середине мая компания предупредила рекламодателей, что пришло время отказываться от «морально устаревшей» технологии и переходить на HTML5.

читать полностью →

[Решено] 1С Bitrix. Разрешаем скачивать файлы из веб-формы неавторизированному пользователю

Май, 24th 2016

bitrix. права пользователей

1С Bitrix богата весьма странными решениями при реализации простых вещей. Простой пример - на сайте есть веб-форма с полем типа "файл" (когда нужно отправить какое-то изображения или иной документ). В результате на почту приходит письмо со ссылкой на этой файл примерно такого вида:

...
Ваш макет в цвете:
*******************************
image.jpeg [1414 x 700] (400.34 КБ)
http://you_site.ru/bitrix/tools/form_show_file.php?rid=104&hash=3d97e1e3f496e167c9fa6274e3b9772d&action=download&lang=ru
...

При клике по ссылке выдается сообщение: "Ошибка! Файл не найден."

читать полностью →

Установка шаблонов OpenCart с templatemonster.com

Апрель, 05th 2016

Введение Что находится в шаблоне и для чего его можно использовать

В данное время занимаюсь доработкой одного интернет магазина на движке OpenCart. Хотя... слово "доработка" тут уже не уместно использовать, так как данный интернет-магазин уже почти полностью переписан, однако речь сегодня пойдет о более простом пути.

Наверняка многие слышали о таком ресурсе как templatemonster.com. Там имеется куча готовых шаблонов под разные движки, в том числе и под OpenCart. При разработке собственного шаблона я и взял за основу один из демонстрационных шаблонов с этого ресурса, а в блог решил закинуть их инструкцию по установке этих самых шаблонов. Так что не сочтите за плагиат, честно указал откуда она взята, чтобы вам не искать.

читать полностью →

Доклад "Эволюция фронтенда в 2016" на Moscow Tech Meetup

Март, 09th 2016

Довольно интересный доклад с Moscow Tech Meetup о том куда движется web-разработка в 2016 году и в частности фронтенд. Какие новые инструменты уже появились и еще появятся у разработчиков и на что стоит ориентироваться в будущем. На мой взгляд, весьма познавательно.

К примеру, Microsoft показал себя с неожиданной стороны, сделав (!)бесплатный кроссплатформенный инструмент для web-разработки Visual Studio Code.

Создание адаптивных сайтов от LoftBlog

Январь, 06th 2016

Раз уж нам выделили так много праздничных выходных дней, с весьма посредственной погодой (даже соседский мопс, большой любитель прогулок, завершает их едва успев начать) следует провести их с пользой.

Еще перед новогодними каникулами подписался на одну группу вконтакте "IT cookies" с весьма интересными материалами. По большей части, группа ориентирована на web-разработчиков или тех кто хочет таковыми стать. Как раз сегодня наткнулся на видеоуроки по созданию адаптивных сайтов от LoftBlog.

читать полностью →

Настраиваем под себя Sublime Text 3

Январь, 04th 2016

Sublime Text 3. тема оформления Spacegray + Solarized Dark

В который раз думаю кому понадобилась эта куча посленовогодних выходных. На четвертый день холодов уже не знаешь чем ещё себя развлечь. Вот перенести бы их на майские праздники или на лето... не все же проводят эти дни в пьяном угаре под Кисель-ТВ.

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

читать полностью →