+0.64
Рейтинг
0.60
Сила

Связка MODx Revolution + LiveStreet

Уважаемое сообщество!
У меня для вас сразу две заметки.

Первая для новичков: кто еще не освоил создание плагинов под Livestreet с нуля, подробная мана: modxlivestreet.ru/blog/livestreet-lessons/9.html

А вот вторая — повод для холиваров, которые мы уже развернули на хабре ( habrahabr.ru/post/155063/ ) и community.modx-cms.ru ( community.modx-cms.ru/blog/social-network/8766.html ) (правда в MODX-сообществе отдельные люди оценили идею и скорее всего в ближайшее время мыс моим модулем будем осуществлять перенос сообщество с MODx Evolution + Livestreet на MODX Revolution). Заметки об этой связке MODX-сообщества уже были здесь ( livestreet.ru/blog/sites/2111.html ).

В чем суть этого модуля? Этот модуль позволяет подружить MODX Revolution с Livestreet. Вот посмотрите на мой сайт: modxlivestreet.ru/
Типичный с виду Livestreet. Да только не совсем типичный. Вообще-то это MODX. Просто он дергает нужный ему контент из Livestreet.
Читать дальше →

robots.txt для Livestreet

Самый оптимальный вариант для Livestreet проверенно!!!
User-agent: Yandex
Crawl-delay: 2
Disallow: /search/
Disallow: /js/
Disallow: /css/
Disallow: /special/
Host: ваш домен
User-agent: Googlebot
Crawl-delay: 2
Disallow: /search/
Disallow: /js/
Disallow: /css/
Disallow: /special/
Host: ваш домен

User-agent: Slurp
Crawl-delay: 8
Disallow: /search/
Disallow: /js/
Disallow: /css/
Disallow: /special/
Host: ваш домен

User-agent: *
Crawl-delay: 10
Disallow: /special/
Disallow: /js/
Host: ваш домен

Конвертафция путей в MySQL дампе для переноса на новый сервер

convert_paths.php
<?php

// старый путь
$old = '/var/www/looksochi/data/www/somesite.ru/';
// новый путь
$new = '/sites/rebirth/somesite.ru/';

// исходный дамп
$input = fopen('dump.sql','r');
// выходной файл
$output = fopen('dump_new.sql','w');

function rs($r){
    global $old, $new;
    return $r[1].( $r[2] + (strlen($new)-strlen($old)) ).$r[3];
}

while(($s = fgets($input)) !== false){

    $s = preg_replace_callback('#(s\:)(\d+)(\:\x5C"'.preg_quote($old,'#').')#ms', 'rs', $s);

    $s = str_replace($old, $new, $s);

    fwrite($output, $s);
}

fclose($input);
fclose($output);


$
php -f convert_paths.php

Красивые подсказки в редакторе

Подсказки в редакторе реализованы через указание их текста в атрибуте тега a. Как оказалось и плагин для вывода сообщений использует этот атрибут, осталось сделать лишь небольшую доработку — в файл скрипта темы (templates/skin/ТЕМА/js/template.js) добавить несколько строчек кода, расположенных ниже. Более подробно о настройках poshytip можно почитать здесь:
$('.markItUpHeader .markItUpButton a').poshytip({
    className: 'infobox-yellow',
    showTimeout:300
});

Все!

Рецепт добавления поля в диалог регистрации пользователя

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

Постановка задачи: необходимо добавить в форму регистрации пользователя поле «Имя пользователя» из его, пользователя, профиля.
Задача решается последовательно в несколько шагов:
Шаг 1. Добавление текстовки в языковой файл.
Шаг 2. Добавление поля в форму регистрации.
Шаг 3. Добавление правила валидации элемента.
Шаг 4. Обеспечение записи элемента при валидации.
Шаг 5. Доработка всплывающего окна с регистрацией.
Шаг 6. Доработка маппера.

Читать дальше →

rel="canonical" во всех страницах

Продвигаю уже несколько месяце страницу блога по запросу, но она не двигается.

Выяснилось, что в движке есть строка

{if $sHtmlCanonical}
		<link rel="canonical" href="{$sHtmlCanonical}" />
	{/if}


Данный тег показывается на всех страницах блогов. Даже на этом сайте, посмотрите код страницы livestreet.ru/blog/dev_livestreet/ на 29-й строке она ссылается сама на себя. Если посмотрите по яндексу, то поймете, что эта страница ранжируется ниже остальных, вложенных в него.

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

Такое появилось только с 1.0 версии в результате чего, после апдейта на новую версию — жесткая просадка. Будьте бдительны те, кто переносятся на новую версию.

Идея плагина "Расширенные теги"

Захотелось сделать что-то подобное кинопоиску. Где навигация идет по разного рода тегам.

Плагин должен
— добавлять возможность создавать группы тегов,
— определять принадлежность к разным типам топиков или блогов.
— задавать параметры валидации.

В общем в скриншотах то, что получилось.

Читать дальше →

Три новых фичи в админке (Обновлено)

Во-первых, хочу сообщить, что aceAdminPanel переходит в статус release candidate. Это значит, что новые фичи в текущую версию добавляться не будут. Еще несколько дней тестов и багфиксов, и финальный релиз пойдет в каталог.

Я знаю, что есть пара фич, которые были в прошлой версии, но не перешли пока в эту. Они будут реализованы в следующей версии.

А сейчас хочу написать про три новые маленькие, но, на мой взгляд, полезные функции, которые добавлены в админку некоторое время назад, но я про них пока не говорил.
Читать дальше →

Плагины SEO, Sitemap, Pingator работают с LiveStreet v1.0

В этом топике я хочу перечислить часть наших плагинов, которые нормально заработали с LiveStreet v1.0 без каких-либо правок кода (мы проверили корректность их работы).




Остальные плагины (Similar, Banneroid, L10n, Mailing, LSDigest и др.) потихоньку допиливаем. Можете простимулировать нас донейтом, чтобы работа шла веселей ;).