avatar
+0.76
0.888
В каком-нибудь плагине, или в /classes/hooks/ новый файл создаете, и вешаете хук
$this->AddHook('viewer_init_start','changeskin');


Ну и соответственно функция примерно такая
public function changeskin(){
   if(Router::GetAction()=='blog'){
      Config::Set('view.skin', 'SKINNAME1');
   }
   if(Router::GetAction()=='profile'){
      Config::Set('view.skin', 'SKINNAME2');
   }
}
aVadim
aVadim
Чтобы asset-файлы формировались каждый раз, можно задать так:
$config['compress']['css']['force'] = true;
$config['compress']['js']['force']  = true;
И еще важный нюанс: в папку _run/assets/ переносятся только те файлы, для которых задан дисковый путь. Если же задан URL, то путь в HTML передается без изменений. Например:
$config['head']['default']['js'] = array(
    '___path.frontend.dir___/libs/js/vendor/jquery-1.9.1.min.js',
    '___path.frontend.url___/libs/js/core/main.js',
}
Здесь у первого файла указан файловый путь, и этот скрипт будет перенесен в папку /_run/assets/, а второй — останется, как есть, т.е. в HTML мы получим:
<script src="site.com/_run/assets/123abc/jquery-1.9.1.min.js"></script>
<script src="site.com/common/templates/frontend/libs/js/core/main.js"></script>
Simon
Simon
/classes/actions/ActionRss.class.php, ряд 70, находим
/**
		 * Формируем записи RSS
		 */
		$topics=array();
		foreach ($aTopics as $oTopic){
			$item['title']=$oTopic->getTitle();
			$item['guid']=$oTopic->getUrl();
			$item['link']=$oTopic->getUrl();
			$item['description']=$this->getTopicText($oTopic);
			$item['pubDate']=$oTopic->getDateAdd();
			$item['author']=$oTopic->getUser()->getLogin();
			$item['category']=htmlspecialchars($oTopic->getTags());
			$topics[]=$item;
		}

заменяем на
/**
		 * Формируем записи RSS
		 */
		$topics=array();
		foreach ($aTopics as $oTopic){
			$item['title']=$oTopic->getTitle();
			$item['guid']=$oTopic->getUrl();
			$item['link']=$oTopic->getUrl();
			$item['description']=$this->getTopicText($oTopic);
			$item['pubDate']=$oTopic->getDateAdd();
			$item['author']=$oTopic->getUser()->getLogin();
			$item['category']=htmlspecialchars($oTopic->getTags());
                        $item['blog_title'] = $oTopic->getBlog()->getTitle();
			$topics[]=$item;
		}


/templates/skin/default/actions/ActionRss/index.tpl,
после
{foreach from=$aItems item=oItem}
<item><title>

добавляем
{$oItem.blog_title} →
aVadim
aVadim
Либо писать свой обработчик на jQuery, который будет добавлять атрибут, либо вешать хук на сохранение топика, который будет парсить текст и добавлять атрибут
aVadim
aVadim
Только явно указав этот атрибут в ссылке непосредственно в шаблоне (обычно это topic_topic.tpl). Но вообще хороший вопрос, надо бы сделать, чтоб в параметрах указывать в админке при создании ссылки
Я дам конфиг для LiveStreet:


#by Genius_A ---------------------------------------------------------

    proxy_cache_path /usr/local/www/nginx-cache levels= keys_zone=wholepage:50m max_size=1G;
    proxy_cache_bypass $cookie_key;
    proxy_no_cache $cookie_key;

#--------------------------------------------------------------------------
	server {
		server_name sla.kiev.ua www.sla.kiev.ua;
		listen 91.218.212.236;
		disable_symlinks if_not_owner from=$root_path;
		set $root_path /usr/local/www/data/virtual/sla/data/www/sla.kiev.ua;

#by Genius_A
                gzip on;
                gzip_disable "MSIE [1-6]\.(?!.*SV1)";
                gzip_comp_level  2;
                gzip_min_length 1000;
                gzip_types text/css application/x-javascript text/javascript application/json;
		
		
		location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
			root $root_path;
                
			#access_log /usr/local/www/data/virtual/nginx-logs/sla isp;
			#access_log /usr/local/www/data/virtual/httpd-logs/sla.kiev.ua.access.log ;
                        access_log off;
                        expires 1y;
                        add_header Cache-Control private; 

			error_page 404 = @fallback;
		}
		
		location ~* ^/(engine|login|registration|ajax|settings|video|people)/ {	
			proxy_pass http://91.218.212.236:81;
			proxy_redirect http://91.218.212.236:81/ /;
			proxy_set_header Host $host;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
			proxy_set_header X-Forwarded-Proto $scheme;
			proxy_set_header X-Real-IP $remote_addr;

			#try_files $uri @fallback;
			
		}

		location / {
#by Genius_A
                        proxy_cache wholepage;
                        proxy_cache_valid 200 301 302 50m;
                        proxy_cache_valid 404 50m;
			proxy_cache_key "$request_method|$http_if_modified_since|$http_if_none_match|$host|$request_uri";
#proxy_hide_header "Set-Cookie";
			proxy_ignore_headers "Cache-Control" "Expires" "Set-Cookie";
			
			
			proxy_pass http://91.218.212.236:81;
			proxy_redirect http://91.218.212.236:81/ /;
			proxy_set_header Host $host;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
			proxy_set_header X-Forwarded-Proto $scheme;
			proxy_set_header X-Real-IP $remote_addr;
		}
		
		
		
		location ~* ^/(webstat|awstats|webmail|myadmin|pgadmin)/ {
			proxy_pass http://91.218.212.236:81;
			proxy_redirect http://91.218.212.236:81/ /;
			proxy_set_header Host $host;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
			proxy_set_header X-Forwarded-Proto $scheme;
			proxy_set_header X-Real-IP $remote_addr;
		}
		location @fallback {
			proxy_pass http://91.218.212.236:81;
			proxy_set_header Host $host;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
			proxy_set_header X-Forwarded-Proto $scheme;
			proxy_set_header X-Real-IP $remote_addr;
		}
Klaus
Klaus
aVadim
aVadim
1. Логика, в принципе, объяснима. Во-первых, это вызывает определенные проблемы в самой структуре комментариев, ведь в общем случае нужно не просто один коммент удалить, но и дерево комментариев восстановить, если у удаляемого комментария есть дочерние ветки. Хотя технически это все решаемо, конечно. Плюс проблема чисто представления и восприятия — если удалять комментарии, на которые были ответы (особенно в бурной дискуссии), то может, в итоге, очень странная картина получиться. Напр., если дискутируют два человека, отвечая последовательно, и комменты одного из них удалить, то получится, что второй сам с собой разговаривает. Но, наверное, все же это на усмотрение админа сайта надо оставлять, он должен думать о последствиях своих действий.

С чем я полностью согласен, так это с тем, что когда удаляется целая ветка комментов, то нет смысла оставлять скрытый шлейф. Но даже здесь у админа, на мой взгляд, должна быть возможность вместо удляемой ветки свой какой-то коммент оставить, типа «дурацкую дискуссию не в тему удалил». В ближайшей версии этого не планируем, но в будущем нужно, конечно, это сделать.

2. В файле ActionContent.class.php в методе Init() найти строку:
if (!$this->User_IsAuthorization()) {
и заменить ее на:
if (!$this->User_IsAuthorization() && Router::GetActionEvent() != 'go') {

Должно помочь
plugin/page/templates/skin/default/ActionPage/........tpl
{include file=«header.tpl» noSidebar=true}
убрать то что в жирным
Итак, что прямо сейчас есть в альто для отслеживания комментариев:

3)лента отслеживания
Фактически это не лента отслеживаемых комментариев, а лента топиков (отслеживаемых) в которых появились новые камменты. Хотел бы предложить выводить здесь топики не целиком, а только заголовки (юзер ведь уже читал эти топики). Так сделано на хабре — выглядит очень аккуратно и удобно. Там же напротив каждого заголовка есть чекбоксы, чтобы можно было отметить новые камменты в топике как прочитанные или удалить с отслеживания. Это очень полезно, когда тема перестала интересовать и лишние циферки не мозолили глаза. Но я бы еще предложил рядом с каждым заголовком сделать ссылку «Развернуть комментарии» (и, соответственно — «Свернуть ...»)
Подключить сайдбар для статических страниц:
— убрать
{assign var="noSidebar" value=true}

в /templates/skin/default/actions/ActionPage/page.tpl

-указать правила блоков для отображения на статических страницах в widgets.php
kepp
kepp
Смотрите логи доступов к серверу в этот момент. Наиболее вероятно, что в этот час по сайту бродил поисковый робот(роботы) загружая что-то сразу в несколько потоков. Рекомендую посмотреть в сторону crawl-delay. Например тут web.izjum.com/limit-search-robots-access или вот рекомендации яндекса help.yandex.ru/webmaster/?id=1022359

Также возможно, что файловая система была занята какой то сложной задачей (например пакование бэкапа и прочее).
guf
guf
Тут нужно в экшены править.
1. Идем в actions\ActionBlog\index.tpl
После строки
{extends file="_index.tpl"}

добавляем
{block name="vars"}
    {$bTopicList=true}
{/block}


2. Идем в actions\ActionIndex\index.tpl
В тоже самое место добавляем
{$bTopicList=true}

3. Все, теперь в nav.tpl

{if $bTopicList}
    {* ЕСТЬ ТОПИКИ *}
{else}
    {* НЕТ ТОПИКОВ *}
{/if}
Чтобы виджеты («блоки» в терминологии ЛС) выводились на статических страницах, нужно в определении этих виджетов указать путь (или экшен) для показа. Например, в опцию 'action' добавить 'page':
$config['widgets'][] = array(
    // тут разные опции виджета
    'action' => array(
        'index',
        'community',
        '...',
        'page', // чтобы это виджет показывался, когда вызывается экшен 'page'
    ),
);
yuran
yuran
Да Максим конечно поставил жесткие рамки с этим своим каталогом… Это его право. Вот мне недавно понадобился плагин contest, я давай искать по сайту LS — а ничего уже нету:( Нашел сначала через web архив, потом связался с автором плагина через vk.com и теперь он мне дорабатывает плагин:) А наличие конкуренции — это всегда большой плюс для всех. Думаю и Livestreet не загнется, но и alto будет очень востребована и составит хорошую конкуренцию LS. Всякая монополия и узурпация всегда приводят к краху… вот:)
… но ещё под 0.4 веткой
Значит, этому багу аж три года недавно исполнилось )) Только что проверил на 1.0.3 — есть такой баг. И, соответственно, он благополучно перекочевал в Альто.

Исправлено в версии на гитхабе
Потому что редактировать комментарий можно в течение ограниченного времени после его создания
Плагин Yoast WordPress SEO, думаю пару скриншотов дадут представление



У меня вопрос, как реализуется multiple select?
Чере jQuery плагин — tagit
Проблем никаких не будет с подключением jq плагинов типо chosen?
Смотря куда будете его подключать в любом случае матерый програмист, при желании, сможет сделать так чтобы проблемы БЫЛИ, только зачем :)
guf
guf
У меня вопрос, как реализуется multiple select? Проблем никаких не будет с подключением jq плагинов типо chosen?