суббота, 29 января 2011 г.

Расширение NEWSLIST_EXT или делаем четные и нечетные (odd/even) строки в списке новостей

Ни как не могу понять почему такую простую вещь разработчики не могут включить в ядро экстеншена.
Народ начинает изголяться, причем каждый по-своему. Один пишет экст (newslist_ext, например, который с tt_news 3.0.1 не работает), другой добавляет стили с помощью javascript (в надежде, что js включен у всех), третий в CSS применяет псевдо-классы first-child и last-child (чтобы выделить хотя бы первый и последний элемент списка новостей).

Для себя данную проблему решил следующим образом.

Сначала я установил расширение newslist_ext и посмотрел, что оно делает, а точнее, что оно должно делать. А делает оно элементарную вещь - переопределяет функцию getListContent класса tx_ttnews, т.е. к родному коду функции добавлено еще несколько дополнительных строк. Понятное дело, что за таким экстом, который обновляется каждые пол-года, автору было не угнаться и его творение (newslist_ext) перестало функционировать с выходом tt_news v.3. Похоже, что функция getListContent претерпела значительные изменения.

Вот кусочек php-кода (и моих 5 копеек), который родил автор newslist_ext, для того, чтобы наша жизнь стала краше и мы могли выделять в списке новостей не только первую и последнюю позиции, но и четные и нечетные строки:

// add code : add marker
$counter = $cc+1;
$markerArray['###NEWS_LIST1###'] = '';
$markerArray['###NEWS_LIST2###'] = '';
$markerArray['###NEWS_LIST3###'] = '';

$markerArray['###NEWS_LIST1###'] = $counter;
if ($counter==1) $markerArray['###NEWS_LIST2###'] = 'first';
if ($counter == $resCount) $markerArray['###NEWS_LIST2###'] = 'last';

if (($counter % 2) != 1) {
$markerArray['###NEWS_LIST3###'] = 'even';
} else {
$markerArray['###NEWS_LIST3###'] = 'odd';
}
// add code : end

Теперь в файле typo3conf\ext\tt_news\pi1\class.tx_ttnews.php находим актуальную для нашей версии tt_news функцию getListContent. Выделяем ее и копируем в буфер обмена. Переходим к файлу class.ux_tx_ttnews.php в директории typo3conf\ext\newslist_ext. В этом файле определена одна единственная функция - getListContent, которую мы вытираем и заменяем содержимым нашего клипборда.

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

$layoutNum = ($itempartsCount == 0 ? 0 : ($cc % $itempartsCount));

Сохраняем файл и получаем работоспособное расширение newslist_ext.

Не забывайте добавить маркеры ###NEWS_LIST3### в те места, где вы собираетесь увидеть дополнительные CSS-стили - odd и even

Скачать обновленный NEWSLIST_EXT можно тут T3X_newslist_ext-0_0_1-z-201101291026.t3x
среда, 26 января 2011 г.

TYPO3 хостинг. Обсудим провайдеров?

 

Предлагаю сообществу Typo3 обсудить, а возможно и составить белый и черный список хостинг-провайдеров. Ведь все мы рано или поздно задаем себе вопрос - где разместить свой сайт. Я последнее время смотрю только в сторону VDS-серверов. Тут ты и царь и бог! Но не всегда!

Взял я на свою беду VDS от одного известной российской компании - 1GB.RU, пакет назывался VZ-Профи. Этот пакет сулил мне и Linux x64 (AMD64), но почему-то с 32-битными приложениями, и виртуальной памяти - 2Гб, и дискового пространства 20 Гб, а максимальной мощности процессора аж - 2400 мГц (максимум). Короче, думал, что буду как сыр в масле. Да не тут-то было...

Решил свой новый сайт (http://www.gyrkalo.dp.ua/ пока в стадии разработки) реализовать на Typo3 v.4.4.6. Его производительность можете оценить сами, но до конца марта, пока этот сайт будет находится у 1gb.ru.

Все мои познания Linux привели к выводу, что причиной тормоза является дисковая подсистема. Все мои просьбы помочь разобраться с данной проблемой ни к чему не привели - одни отписки в стиле - вы сами контролируете VDS вот и ищите, что не так. В общем я принял твердое решение сменить хостинг-провайдера и найти нового. Думаю, что это будет какой-то Европейский хостинг, например в Германии. Результат своих поисков непременно опишу.

Если у кого есть, что сказать в защиту или против 1gb.ru, пишите. Но думаю, что они того не стоят, а лучше было бы услышать хорошие советы и положительные рекомендации о каких-либо компаниях.

Пишите свои истории. Это интересно!

 

понедельник, 24 января 2011 г.

Руссификация (локализация) BE TYPO3

 


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

1. Здесь выбирается язык для локализации админки:


Как видим, по-умолчанию всего один язык - английский. Будем добавлять русский.

2. Добавляем русский язык к системе с помощью ExtManager (менеджера расширений):



после нажатия на кнопку Save selection появляются дополнительные кнопки:



Начинается процесс скачивания дополнительных файлов из репозитория (системного хранилища) Typo3:



При этом, как видим, обновляется не только сама система, но и многие расширения:



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



Теперь Админка будет иметь тот язык, который пользователю ближе по духу. Typo3 позволяет администратору сайта иметь одну локализацию, а рядовому пользователю (редактору) - другую.

Очень советую базу данных MySql создавать с опцией DEFAULT CHARACTER SET utf8, а в конфигурационном файле localconf.php устанавливать следующие параметры:

$TYPO3_CONF_VARS['BE']['forceCharset']='utf-8';
$TYPO3_CONF_VARS['SYS']['setDBinit'] = 'SET NAMES utf8'.chr(10).'SET SESSION character_set_server=utf8';

 

среда, 5 января 2011 г.

Странности при сохранении в t3editor

При визуальной настройке плагина новостей, на последней закладке - "Другие настройки", имеется область ввода - "Typoscript для этого элемента содержимого" внутри которого можно вписывать дополнительные настройки (см. картинку).



Так вот, в этом поле, после сохранения, стали пропадать символы: "<>&".

Такая же фигня обнаружилась и внутри t3editor в расширении - TypoScript code (id -typoscript_code).

В данной ситуации всё лечится всего одной строкой в localconf.php:
$TYPO3_CONF_VARS['BE']['flexformForceCDATA'] = '1';

Этот параметр можно установить и в Install Tools. Именно тут, после долгого изучения всех параметров TYPO3, я и нашел данное решение.

А чуть позже, тут, нашел и это:



Выходит, что это какие-то косяки с libxml (1.6.32 и выше) на сервере! Дай бог им всем здоровья ;), а у меня пропало пол-дня.

 

О себе

Моя фотография
Вадим Гиркало
Фрилансер, веб-разработчик сайтов на базе бесплатной, мощнейшей и очень гибкой CMS системы - TYPO3.
Просмотреть профиль

Позвонить мне в Skype

TOP - 3