(function () {
/**
* @var Object Default plugin options
*/
var defaultOptions = {
'param1' : 'foo',
'param2' : 'bar'
};
/**
* @param current jQuery element
*/
var $this = null;
/**
* @param all plugin methods
*/
var methods = {
init: function () {
var settings = $.extend(defaultOptions, options);
return this.each(function() {
$this = $(this);
// Write code here
});
}
};
/**
* Plugin constructor
* @param method
*/
jQuery.fn.myNewCoolPlugin = function (method) {
if (methods[method]) {
return methods[ method ].apply(this, Array.prototype.slice.call(arguments, 1));
} else if (typeof method === 'object' || ! method) {
return methods.init.apply(this, arguments);
} else {
jQuery.error('Method ' + method + ' does not exist on jQuery.tooltip');
}
};
})(jQuery);
Важный совет: каждый новый плагин должен писаться в своем замыкании.
понедельник, 23 января 2012 г.
jQuery. Каркас для плагина.
четверг, 19 января 2012 г.
SEO. Нах..й SEO.
Да простит меня общественность, за "яркий" заголовок, но то что в нынешнее время называют SEO-специалистом, сродни средневековым алхимикам, которые что-то варили непонимая что но понимая зачем, и конечно же у них не получалось то что они задумали. А "выстрелит" или не "выстрелит", падало на долю случая. Так и все эти сеошники, шарлатаны и надменные нахалы. Возомнили себя настоящими спецами без которых и интернета наверное не существовало бы, даже специализированные компании создают. И ничего удивительного, алхимики в свое время даже к королям во двор попадали так сказать алхимики при дворе. Но как мы видим алхимия дала много чего человеку, и еще больше ничего не дала, а главное не дала того, за ради чего была задумана — золото и прочие драг. металлы, и по прежнему надо было приложить огромное количество труда для добычи этого ценного материала. Так и с SEO оптимизаций, эти "мастера" заявляют и доказывают что вот она 10ка а вот тут будет ваш проект после того как я его обработаю. Ага... уже, прям сразу. Люди не спешите платить деньги мошенникам.
А теперь давайте объективно рассмотрим ситуацию. Хотя бы один из сеошников знает алгоритмы по которым работает тот или иной робот или паук, я думаю что нет. Ну вот и как человек, который не знает как работает инструмент его заработка, может предлагать платные услуги? Видимо никак, но тем не менее, сейчас сплошь и рядом одни сеошники. Значит есть люди которые их вскармливают своими кровными.
Но зачем, ведь поднять в топ можно абсолютно любой сайт не прибегая с услугам чудо сеошников. Почему? Все просто. Изначально роботы искали информацию наиболее подходящую для человека, полезную так сказать. А сеошники что вам говорят "роботы будут балдеть от вашего сайта... бл..ть", но мне не роботы нужны на сайте, а живые люди, клиенты. Как говорится, зри в корень, сайт ты делаешь для людей? Вот и оптимизируй его для людей, ведь сейчас, наверняка пытаются создавать роботов, которые моделируют поведение человека, и если сейчас робот без труда (хотя труд и робот понятия не совместимые, но это тема для отдельной статьи) может управлять автомобилем в городе, то я думаю и с задачей "заценить" содержимое сайта с точки зрения человека ему под силу, пускай и не на все сто. А под оптимизацией я имею ввиду не замудренный бред пьяного алхимика-сеошника, а просто-на-просто пиши грамотно пиши по делу, текст должен нести связный смысл, содержать иллюстрации и пр. О, вижу бежит из далека обдолбанный сеошник и брызжет слюной, мол, ну мы это же и делаем, нет уважаемый ты как бы намекаешь, что надо бы так и так сделать, при этом ты обращаешь внимание на семантику самого текста, скажу честно это важно, но с поднятием сайта в топ не связано, это стало просто побочным эффектом, но сейчас, как по мне робот вполне может обойтись и без опорных семантических точек, типа заголовок или цитат. И самое гавное, сеошник, ты этого не делаешь, а только говоришь. А кто текст грамотно напишет? Сделает из него грамотный логически связанный рассказ. Явно не ты.
Едем дальше. Семантика. Место которым сеошник будет отмахиваться от аргументов против него, но позвольте, заголовки, абзацы и пр. появились до того как родился самый первый поисковик. Т.е. это сделано было явно не для робота, робот же в свою очередь в силу своей не способности. Разбить текст на логические участки, нуждался в такой разметке. К чему я веду этот яростный монолог, да к тому что роботы поисковые сейчас "некисло", могут "въехать" в тематику и сущность вашего сайта. Понять куда ведут ссылки с ваших страниц и пр. моменты касаемые "всплытия" вашего сайта наверх. То есть чтобы сайт поднялся высоко его должны высоко оценить люди. Роботы в плане индексирования стали очень похожими на человека, а так же чего сами не "доварят" своими "котелками" то пытаются анализировать статистически. Ну вот и я в ту же степь: обсуждать как работают поисковики, а это по сути гадание на кофейной гуще.
Подвожу черту — делайте качественные, быстрые, наполненные интересным содержимым ресурсы и посетитель обязательно это оценит и вернется к вас с друзьями, а там и роботы за ними подтянутся. И не надо думать, что это вам не под силу. Под силу еще как!
P.S.: Прошу прощения за резкость в статье, я писал ее под впечатлении от не очень приятного диалога и отложил в черновики, теперь взявшись дописывать, хотел подкорректировать, но потом решил оставить. И вот дописал до точки, так сказать, и публикую...
вторник, 3 января 2012 г.
MySQL. Структура таблицы
SHOW DATABASES; - список баз данных
SHOW TABLES [FROM db_name]; - список таблиц в базе
SHOW COLUMNS FROM таблица [FROM db_name]; - список столбцов в таблице
SHOW CREATE TABLE table_name; - показать структуру таблицы в формате "CREATE TABLE"
SHOW INDEX FROM tbl_name; - список индексов
SHOW GRANTS FOR user [FROM db_name]; - привилегии для пользователя.
SHOW VARIABLES; - значения системных переменных
SHOW [FULL] PROCESSLIST; - статистика по mysqld процессам
SHOW STATUS; - общая статистика
SHOW TABLE STATUS [FROM db_name]; - статистика по всем таблицам в базе
Подсмотрел тут: www.opennet.ru
вторник, 27 декабря 2011 г.
Magento. Редиректы. Суровая правда.
Небольшие пояснения по этому поводу.
Существует несколько методов для редиректа. Это редирект на определенный URL например http://www.example.com/test/foo. И редирект с параметрами, но в этом случае необходимо использовать путь распознаваемый роутером (наверняка вы встречали в коде контроллеров редиректы с такими путями */* или */index и пр.).
Код применим в методах контроллеров:
Первый способ.
$this->_redirectUrl($url);Второй способ.
$params = array ("arg1" => "foo", "arg2" => "bar");
$this->_redirect($path, $params);
Надо заметить, если вы включили в админке безопасные ссылки то для редиректа в админ-панели, надо сгенерировать безопасную ссылку следующим способом:Оговорюсь сразу, тут надо применить костыль, т.к. ссылку то мы получим, но генератор вырежет из нее часть ссылающуюся на админку. Я не нашел элегантного способа обойти это, поэтому не привожу пример костыля, ибо считаю что код-костыль не имеет право на публикацию :).
// Может принимать значения и по маске роутера, например */*
$path = 'admin/system_convert_profile/run' // Этот путь, к примеру, на запуск профиля импорта/экспорта
$params = array ("id" => 8);
$url = Mage::helper('adminhtml')->getUrl($path, $params);
// Дальше код-костыль которые возвращает утеряное
$this->_redirectUrl($url);
Чтобы установить редирект не в контроллере надо обратиться к объекту Response.// Для первого способа, с указанием URL
$url = "http://www.example.com/";
Mage::app()->getFrontController()->getResponse()->setRedirect($url);
// Для второго способа, с указанием пути (в формате роутера магенты и параметров)
$path = "news/archive";
$params = array ("arg1" => "foo", "arg2" => "bar");
Mage::app()->getFrontController()->getResponse()->setRedirect(Mage::getUrl($path, $params));
пятница, 2 декабря 2011 г.
Image Magic - граница и квадратный ресайз с обрезкой
convert -strip -interlace Plane -quality 90 resource.jpg -resize 15 -gravity center -crop 10x10+0+0 +repage destination.jpgНадо добавть границу к картинке? Не проблема:
convert resource.jpg -bordercolor red -border 1 destination.jpg
среда, 30 ноября 2011 г.
Debian - размер папки и количество файлов
find . -type f|wc -lПосмотреть размер указаной папки:
du -hc --max-depth=1
среда, 23 ноября 2011 г.
Magento. Добавление кириллического доменного имени.
Для реализации задуманного нам понадобится следующее:
- Доступ к файлу /index.php
- А также доступ к админ-панели магазина.
- Заходим в админку, переходим Систма>Конфигруация (System>Configuration), на странице выбираем пункт Управление магазинами (Manage Store). Затем создадим новое представление нашего магазина, клацаем на кнопке Создать представление магазина (Create view store). Заполняем поля как вам угодно, главное запомнить Код (Code), он нам еще понадобится. И, да, не забудьте статус поставить во "включен" (enable). Итак, мы создали новое представления для нашего магазина, оно будет полностью наследовать если можно так сказать все что есть у магазина default (или как он там у вас называется).
- Теперь необходимо сконфигурировать кое-что специально для нашего нового представления. Переходим Систма>Конфигруация (System>Configuration). В списке "Текущая область действия конфигурации" (Current scope configuration) Выбираем наш нове новое представление . Выбираем секцию Web (Web). Мы будем работать с двумя блоками Безопасное соединение (Secure connection) и небезопасное соединение (Unsecure conneciton). Снимите галочки Использовать с сайта (Use Website) и поля Базовый URL (Base URL) станут доступны для записи вписываем туда, внимание, ваш новый кириллический адрес в формате punycode, сохраняем.
- Конечно же не забываем обновить индексы и кеш после всего проделанного.
- Теперь самое время подрихтоватьнаш index.php для этого добавим такие строки после определения переменной $mageRunCode.
$yourPunycodeHostName = 'xn--h1ahfamim.com.ua'; if ($_SERVER['HTTP_HOST'] == $yourPunycodeHostName || $_SERVER['HTTP_HOST'] == $yourPunycodeHostName ) $mageRunCode = 'photomir_ru';Где переменой $mageRunCode вы присваиваете Code вашего нового представления - Теперь все хорошо, можете вбивать свой адрес на кириллице, и скорее всего у вас будет ошибка на главной, которая вам намекнет о том что страница не определена (впрочем как и некоторые блоки).
- Значит будем определять все страницы (и блоки) для нового представления, это можно сделать в админке (CMS>Pages или CSM>Blocks), путем выбора на странице редактирования нашего нового представления. Или же запустить скрипт, который автоматически перенесет все страницы в новое представление. Код, написанный мной, приведен ниже:
require 'app/Mage.php'; $app = Mage::app('default'); $dbWrite = Mage::getSingleton('core/resource')->getConnection('core_write'); $dbWrite->query('update cms_page_store set store_id = 0'); $dbWrite->query('update cms_block_store set store_id = 0');Вы его можете добавить в файл который будет создан в корне магазина и запустить после чего рекомендую его удалить.
P.S.: Все вышесказанное, в принципе, касается не только кириллического домена как можно заметить.