Блог пользователя - solomenikm

How to! - nginx версия два.

17 декабря 2010 в 20:00

Я писал как настроить ngnix здесь, но эта метода плоха сама в себе, плюс какое-то обновление удалило куку DRUPAL_UID из друпала. Короче, вот новое решение.

Требования.
Модуль [module=logincookie]. В нем устанавливаем куку NOCACHE когда пользователь залогинился, и удаляем ее когда он вышел.
Тестировал под nginx0.7, под nginx0.8 почему-то не кэшировал, так что смотрите, я вас предупредил.

Сам конфиг отдающий закэшированые страницы анонимусам:

переезд на MariaDB

14 ноября 2010 в 18:23

После прочтения актуальных новостей на хабре об Oracle и их политики в отношении MySQL задался вопросом на что бы ее поменять. Остановился на MariaDB...

Сделать это оказалось весьма просто:
Идем сюда: ourdelta.org и ищим наш дистрибутив. В моем случаи это был убунту 9.04 которому соответствует вот эта страничка.
Теперь, когда мы знаем репозиторий осталось лишь выполнить следующую последовательность команд:

How to! - nginx для мультисайтинга с кэшированием для анонимов.

13 августа 2010 в 20:26

Хочу рассказать вам, друзья, о том как сделать связку nginx+apache для друпала. Это будет не просто связка. Это будет очень универсальный, работающий в условиях мультисайтинга, доменов третьего уровня и нестандартных портов (например у меня 6969 и на нем висит виртуальный сервер) конфиг. Еще эта связка будет иметь мегакэширование страниц для анонимов - без всяких дополнительных модулей drupal firebug выдает время загрузки страници порядка 80ms (разумеется на виртуальном сервере в локальной сети).


Рабочая лошадка:
ubuntu server 9.04

Новый модуль массовой загрузки файлов - Plupload

24 июля 2010 в 14:47

Появился такой модуль: Plupload вообще очень многообещающий, но беда в том, что к нему вообще нет никакой документации. Может быть кто-то запускал его? Или совместными усилиями на удастся это сделать? В общем - нужна ваша помощь.

http://www.shorts.jard.pl/

25 апреля 2010 в 17:42

shorts.jard.pl
Мопед мой. Хаить не нужно. Выставляю только чтобы показать нестандартное решение с использованием js (прокурутка видео роликов и фильтр поиска) на друпал. Есть вопросы - слушаю.

AJAX popup

25 апреля 2010 в 16:39

Цель: при клике на ссылку (заголовок ноды, картинка, дата или что нам в голову взбредет) открывается popup содержащий нужные нам поля ноды. Содержание грузиться динамически.

Условие: все через views.

Решение: Читать весь текст »

Как скрыть сайт?

18 апреля 2010 в 17:27

Есть необходимость скрыть сайт от посторонних глаз. Чтобы сайт находящийся в разработке не мог никто кроме заказчиков и администрации увидеть. Как это можно реальзовать (в идеале редирект)? Может кто знает?

Настройка сервера для тестирования сайтов.

19 января 2010 в 20:48

Недавно тут: http://welinux.ru/post/2173/ я описал как я установил у себя на локальной машине виртуальный сервер с целью эмуляции работы реального. Вообще мне это было нужно для коректной локальной работы с мультисайтингом. Если кому интересно - прошу читать, есть вопросы - с удовольсвием отвечу.

Read more в views

19 января 2010 в 20:42

Сиуация следующая есть views->page в нем отображается node:teaser, node:link (read more), но отображается она везде даже там где как такового тела поста нет, а есть только заголовок. Вопрос таков: как сделать так чтоб отображалась только там где это нужно. Может кто-то сталкивался?

[РЕШЕНО] Проблема при загрузке файлов больших размеров apache2+nginx

29 ноября 2009 в 17:03

Столконулся с такой проблемой, что не мог загружать картинки большого размера при том, что ограничения в памяти, максимальный размер POST и т.п. были визуально верными. Оказалось что проблему создавал nginx. По умолчанию ограничение на размер загружаемого файла в нем 1M. Исправляется добавлением строчки

client_max_body_size 64m;

в графу http { … } в в /etc/nginx/nginx.conf
Всем спасибо.

Как загрузить одну часть одного нода в другой?

12 августа 2009 в 20:02

Столкнулся с задачей: есть тип материла например выставки, и в нод типа выставки нужно вставить другой нод с ним связанный, например типа фото_с_выставок. Идея вообще такова: на странице есть какая-то информация с фотками, но теже фотки есть в связанном с ним разделе галлереи. Как это можно реализовать?

Вопрос: две темы на одном сайте.

3 августа 2009 в 18:38

Ситуация: есть одна организация, у нее два ресторана разного плана.
Задача: сделать сайт с одним (можно и с двумя, но лучше с одним) доменом для двух ресоранов, причем для страниц каждого из ресторанов необходим разный дизайн (верстка может быть одной, но цветовые и графические решения должны быть разными). Главная страница должна говорить об организации в целом, а после перехода по сответсвующим ссылкам мы должны попадать на страницы ресторанов. Логика сайта, меню, и т.п. идентичны, но разное содержание. База в иделе одна.

Динамическая загрузка контента с использованием jquery

22 июля 2009 в 21:04

Задача: реализовать загрузку контента на сайте динамически, в простонародии через аякс.
Решение:
1. Как можно выше вставляем этот код:

window.onload = function() {
        if ((location.hostname+location.pathname != location.hostname+'/') && (location.hash.length < 1)) {
        var h ='/#'+ window.location.pathname.replace('/','');
        window.location = h; } 
}

Он нам нужен для того, чтобы можно было копировать и передавать ссылки. Например ссылка вида http://site.com/content/main перенаправит нас (если джаваскрипт включен) на http://site.com#content/main (что нам и требуется), с другой стороны для поисковых систем ссылка http://site.com/content/main попрежнему останется рабочей.

function drupal_ajaxer(menu, content){
        $(menu).attr("href", function() { return '#'+this.href.split(location.hostname+'/')[1]; });
        if (window.location.hash!="#"){
                $(content).load(window.location.hash.split("#")[1]+' '+content);}
        else{
                $(content).load("/ "+content);}
        $(menu).click(function(){
                var h = $(this).attr('href');
                if (h!="#"){
                        $(content).load($(this).attr('href').split("#")[1]+' '+content);}
                else{
                        $(content).load("/ "+content);}
        });
}

Функция грузит нам необходимый контент из ссылок menu в content и меняет ссылки вида http://site.com/content/main на http://site.com#content/main

$(document).ready(function(){
        drupal_ajaxer("a","#content-inner");
});

Установка drupal на виртуальный сервер с нуля

12 июня 2009 в 19:51

Мой опыт утсановки drupal на «голый» VPS сервер (ubuntu server). Связка apache+php+mysql. С примером настройки хостов для мультисайтинга и базовой оптимизацией.

ссылки многоязыковых сайтов.

31 мая 2009 в 20:45

Предположим что у меня есть сайт burda.com с поддержкой русского и английского языков. Английский стоит как язык по умолчанию. Ссылки принимают вид:
burda.com/ru/node/... либо burda.com/?q=ru/node/... — Для русскоязычной версии
burda.com/node/... либо burda.com/?q=/node/... — Для англоязычной версии

Мультисайтинг в который раз (files)

30 мая 2009 в 17:36

Установил, все работает не могу только одного понять: почему темы (как я понимаю и файлы в принципе) в папках first.com/sites/first.com/files/themes и first.com/sites/second.com/files/themes не видно вообще как на первом так и на втором сайте, но темы из first.com/sites/all/files/themes видны везде.
Как это можно поправить? Хочу чтоб для каждого сайта были свои темы и файлы.
Спасибо за ответ.
P.S. Базы разные.

Взаимодействие ajax и jtootip

10 марта 2009 в 23:28

Есть картинка на которой тегом размечены активные области,

<img src="planets.gif" width="145" height="126" alt="Planets" usemap="#planetmap" />
<map name="planetmap">
  <area shape="rect" coords="0,0,82,126" href="sun.htm" alt="Sun" />
  <area shape="circle" coords="90,58,3" href="mercur.htm" alt="Mercury" />
  <area shape="circle" coords="124,58,8" href="venus.htm" alt="Venus" />
</map>

есть модуль jtooltip который при наведении на эти области выводит всплывающий тултип. Нужно чтобы в тело тултипов загружались другие страницы сайта (например краткая версия странички типа story) при помощи модуля ajax. Например при наведении на область Sun показывается тултип с содержанием странички с адресом node/sun. Надеюсь я понятно объяснил задачу, если Вам не сложно то прошу Вас описать решение этой проблемы с подробным примером кода. Зарание Вам благодарен!

jtooltip

5 марта 2009 в 1:44

Есть у меня такая проблема: Есть карта на которой с помощью тега map размечены области, при наведении на соответсвующие области хотелось бы видеть всплывающий тултип с содержанием краткой версии странички типа story (картинка, немного текста и ссылка на полную версию странички). Как я понимаю нужно вставить какой-то php-код в "alt="<?код?>" ", но ума не прилажу что именно. Расскажите пожалуйста, как это реализовать?
Страничка с картой:

<img id="map" src="http://www.travmed.com/guide/maps/worldmap.gif"  border="0" usemap="#Landkarte">
<map name="Landkarte">
 <area title="map" shape="rect" coords="11,10,59,29" href="http://www.koblenz.de/" alt="Koblenz" title="Koblenz">
 <area  title="map" shape="rect" coords="42,36,96,57" href="http://www.wiesbaden.de/" alt="Hi" title="Wiesbaden">
 <area  title="map" shape="rect" coords="42,59,78,80"
 href="http://www.mainz.de/" alt="Mainz" title="Mainz">
 <area  title="map" shape="rect" coords="100,26,152,58"
 href="http://www.frankfurt.de/" alt="Frankfurt" title="Frankfurt">
 </map>

jtooltip:

if (Drupal.jsEnabled) {
  $(document).ready(function () {
        $('area').Tooltip({
                delay: 0,
                track: false,
                showURL: false,
                showBody: "; "
        });
  });
}

Спасибо!

taxonomy menu и i18n

5 февраля 2009 в 14:38

Мы делаем словарь в таксономии, переводим его (переводы разные ссылки одни) закидываем все в taxonomy menu и в любом языке меню отображается в языке по умолчанию, при этом таксономия на страницах переводиться и там все ОК. Как это исправить?
P.S. Все это необходимо для подключения таксономии к Dynamic persistent menu если решение на таксономии нет, но существуют способы создания многоязыкового меню на Dynamic persistent menu, то прошу его в студию. Огромное спасибо!