Настройка Joomla плагина vmSef часть II

vmSef лекго устанавливается и настраивается, но внутри он устроен достаточно хитро.

Он копирует файл plugins/system/vmsefr.php в components/com_virtuemart/router.php, а потом каждый раз проверяет есть он там или нет, и если нет, то выдаёт сообщение «vmSef cannot be installed». Более того, router.php удаляет сам себя, если плагин отключен (disabled). Я у себя всё это копирование закомментировал и удалил все лишние файлы, остались только plugins/system/vmsefr.php, plugins/system/vmsefr.xml и components/com_virtuemart/router.php.

Теперь, чтобы выключить плагин, надо вручную удалить или переименовать файл components/com_virtuemart/router.php.

Архивируем измененные файлы под Ubuntu Linux

так, ну значит у команды find есть такие параметры:

       -mmin n
              File's data was last modified n minutes ago.

       -mtime n
              File's  data  was  last  modified  n*24  hours ago.  See the comments for -atime to understand how rounding
              affects the interpretation of file modification times.

       -newer file
              File was modified more recently than file.  If file is a symbolic link and the -H option or the  -L  option
              is in effect, the modification time of the file it points to is always used.

       -newerXY reference
              Compares  the timestamp of the current file with reference.  The reference argument is normally the name of
              a file (and one of its timestamps is used for the comparison) but it may also be  a  string  describing  an
              absolute  time.   X and Y are placeholders for other letters, and these letters select which time belonging
              to how reference is used for the comparison.

Например, я хочу заархивировать файлы в каталоге ./components/com_virtuemart/ измененные не позднее 11 дней назад.

Для этого можно использовать такую команду:

find ./components/com_virtuemart/ -type f -mtime -11 | xargs tar -cvf vm.tar

Continue reading

Пчелы

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

Ещё пчелы умеют друг с другом договариваться куда им лететь за нектаром 🙂

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

Изучаем китайский язык с помощью Apache Web Server

Для того, чтобы настроить 301-перенаправление всех зеркал на основное зеркало, но при этом исключить файл robots.txt и файлы Google и Yandex, надо в .htaccess прописать вот такую штуку:

RewriteCond %{REQUEST_FILENAME} !/robots.txt$ [NC]
RewriteCond %{REQUEST_FILENAME} !/yandex_.*$ [NC]
RewriteCond %{REQUEST_FILENAME} !/google.*$ [NC]
RewriteCond %{HTTP_HOST} ^(www.)?mirror1.ru$ [NC,OR]
RewriteCond %{HTTP_HOST} ^(www.)?mirror2.ru$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.mysitename.ru$ [NC]
RewriteRule ^(.*)$ http://mysitename.ru/$1 [R=301,L]

похоже, что в переводе на русский это означает следующее:

line1 AND line2 AND line3 AND (line4 OR line5 OR line6)

[NC] это No Case
[L] последнее правило

подробнее см Apache Module mod_rewrite.

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

Проблема с Passive FTP на VmWare

На Windows 7 стоит VmWare, на ней Ubuntu Linux. На VmWare настроен Port Forwarding через NAT:

Active FTP работает, как локально, так и с удаленной машины, Passive Mode с локальной машины тоже работает, а с удаленной работает только с выключенным FireWall-ом (на реальном хосте под Winows 7).

Continue reading

Настройка почтового лога в PHP 5.3

создаем файл /var/log/phpmail.log:

# cd /var/log/
# touch phpmail.log
# chown www-data\: phpmail.log

и прописываем его в /etc/php5/apache2/php.ini

; Log all mail() calls including the full path of the script, line #, to address and headers
mail.log = /var/log/phpmail.log

рестартим Apache:

# /etc/init.d/apache2 restart

стереть лог можно так:

# cat /dev/null > /var/log/phpmail.log

Конвертация домена РФ

Код для конвертации домена из IDN в русский вид:

<?php

header('Content-Type: text/html; charset=utf-8');

$utf8 = idn_to_utf8('xn--80abcmvbjsf9gg3b.xn--p1ai');

echo 'utf8: ' . $utf8 . '<br>';

echo 'IDN: ' . idn_to_ascii($utf8);

//phpinfo();

?>

Чтобы работала функция idn_to_utf8 должно быть: PHP 5 >= 5.3.0, PECL intl >= 1.0.2, PECL idn >= 0.1.

надо их либо инсталлировать через PECL:

# apt-get install php-pear
# apt-get install php5-dev
# pecl install idn channel://pecl.php.net/idn-0.2.0
# pecl install intl

либо перекомпилировать PHP с опцией —enable-intl

Continue reading

Форматируем название товара в Joomla VirtueMart

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

CREATE TABLE `jos_vmx_product_keyword` (
  `keyword_id` int(11) NOT NULL AUTO_INCREMENT,
  `keyword_value` varchar(64) NOT NULL,
  PRIMARY KEY (`keyword_id`),
  UNIQUE KEY `keyword_value` (`keyword_value`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=19 ;

INSERT INTO `jos_vmx_product_keyword` (`keyword_value`) VALUES
('кошка'),
('собака');

Continue reading

Через 2 месяца будет Joomla 1.7

Где-то в июле 2011 должна появиться Joomla 1.7.

Virtuemart 2 сейчас в стадии RC, и судя по описанию он не совсем совместим с Joomla 1.6, зато там есть ряд интересных нововведений, таких как Custom Fields (вместо attributes, producttypes, variants,…).

В общем, процесс у них идет, но наверное, использовать Virtuemart 2 пока ещё рано.

SEO оптимизация сайта

для 301 перенаправления всех зеркал на главное и заодно для удаления www из url-а можно написать в .htaccess вот такую штуку:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?mirror1.ru$ [OR]
RewriteCond %{HTTP_HOST} ^(www.)?mirror2.ru$ [OR]
RewriteCond %{HTTP_HOST} ^www.main-mirror.ru$ [NC]
RewriteRule ^(.*)$ http://main-mirror.ru/$1 [R=301,L]

Continue reading

Почему может не работать Active FTP под VmWare через NAT

NAT на Windows 7 работает только в новых  версиях VMWare — 6.5.3 и 7.x.x

Для запуска 64-разрядных гостей процессор должен поддерживать технологию Intel VT ( http://ark.intel.com/VTList.aspx )

Для процессоров AMD технология AMD-V™(подробнее тут,утилита для проверки http://support.amd.com/us/Processor_TechDownloads/AMD-V_Hyper-V_Compatibility_Check_Utility_V2.zip) + поддержка должна быть включена в BIOS.

если всё настроено нормально, то утилита показывает такое окно:

Continue reading

Настройка Joomla плагина vmSef

В VirtueMart-е 1.1.x ссылка на категорию имеет такой вид:

http://sitename.ru/component/virtuemart/?page=shop.browse&category_id=1

ссылка на товар (flypage) выглядит так:

http://sitename.ru/component/virtuemart/?page=shop.product_details&flypage=flypage-ask.tpl&product_id=59&category_id=17

плагин vmSef создает SEF (Search Engine Friendly) ссылки для категорий и товаров такого вида:

http://sitename.ru/component/virtuemart/<название категории транслитом>

http://sitename.ru/component/virtuemart/<название категории транслитом>/<название товара транслитом>

Continue reading

Cygwin не дружит с антивирусом

При подключении к X серверу

$ xinit -- :2 -query 192.168.1.3

Avast выдаёт вот такую штуку:

если выбрать «Открыть как обычно», то окно клиента открывается всё равно необычно и закрывается при попытке входа под любым логином. Возможно он там делает fork() или что-то в этом роде, поэтому Avast считает его вирусом.

Continue reading

Наклейки ECO

Этикетки ECO Pro хорошо клеятся, но как и многие другие продукты они далеки от идеала по следующим причинам:

  • отступы примерно такие: слева 10мм, сверху 10.3мм, снизу 10.4мм, справа 11мм
  • суммарный размер сетки 190.5мм x 277мм, то есть одна ячейка получается не 38 х 21.2, а 38.1 x 21.3
  • сам лист бумаги немного больше чем A4, получается где-то 210.9мм x 297мм

вот вопрос… мне продали в магазине неправильную линейку или что-то не так с этикетками, или считается, что для русских потребителей 3мм не имеет значения? Судя по картинке на сайте отступы должны быть симметричными:

зато принтер HP PhotoSmat C309h с координатами работает достаточно четко, что несомненно является для него большим плюсом.

Continue reading