-2.72
Рейтинг
0.38
Сила
… немного ошибся в js 2-го варианта:
$(function () {
    var content = $("#content");
    var sidebar = $("#sidebar");

    $(window).scroll(function(){
        content.toggleClass('wide', $(this).scrollTop() > (sidebar.outerHeight(true) + 200));
        sidebar.toggleClass('hide', $(this).scrollTop() > (sidebar.outerHeight(true) + 200));
    });
});
Можно обойтись без плагинов, немного доработав шаблон.

Решение 1 (only js)
В файл /js/template.js в конец добавляем:
$(function () {
    var content = $("#content");
    var sidebar = $("#sidebar");
    var content_margin_right = content.css('margin-right');
    var content_width = content.css('width');
   
    $(window).scroll(function(){
        if ($(this).scrollTop() > (sidebar.outerHeight(true) + 100)) {
            content.css({'margin-right': '0','width': 'auto'});
            sidebar.css({'display': 'none'});
        } else {
            content.css({'margin-right': content_margin_right,'width': content_width});
            sidebar.css({'display': 'block'});
        }
    });
});

Решение 2 (js + css) — на мой взгляд более правильное:
В файл /js/template.js в конец добавляем:
$(function () {
    var content = $("#content");
    var sidebar = $("#sidebar");

    $(window).scroll(function(){
        if ($(this).scrollTop() > (sidebar.outerHeight(true) + 200)) {
            content.toggleClass('wide', $(this).scrollTop() > (sidebar.outerHeight(true) + 200));
            sidebar.toggleClass('hide', $(this).scrollTop() > (sidebar.outerHeight(true) + 200));
        }
    });
});

В /css/grid.css добавляем:
#content.wide { margin-right: 0; width: 100%; }
#sidebar.hide { display: none; }
{if $oUserCurrent}
	Этот текст видят залогиненые
    {else}
	А этот видят гости
{/if}
Кстсти, для TinyMCE есть подобное решение
Из бесплатного: elFinder, пример «прикручивания»
if($this->sCurrentEvent=='about' and !$this->User_GetUserCurrent()){
    Router::Location(Config::Get('path.root.web').'/registration/');
}

about — ссылка на страницу (site.ru/page/about)
В директиве .htaccess необходимо указать IP сервера.
Содержимое файла должно выглядеть так:

Order Allow,Deny
Deny from all
Allow from 12.34.567.89 (тут IP вашего сервера).
А зачем модальное окно в блок копировать?
Для примера возьмем окно входа. Шаблон window_login.tpl вставляется в header.tpl
{include file='window_login.tpl'}

Само окно c id=«window_login_form» активируется в js\templates.js
$('#window_login_form').jqm();
и подключается к обработке(onclick) для js-registration-form-show и js-login-form-show
$('.js-registration-form-show').click(function(){
		if (ls.blocks.switchTab('registration','popup-login')) {
			$('#window_login_form').jqmShow();
		} else {
			window.location=aRouter.registration;
		}
		return false;
	});

	$('.js-login-form-show').click(function(){
		if (ls.blocks.switchTab('login','popup-login')) {
			$('#window_login_form').jqmShow();
		} else {
			window.location=aRouter.login;
		}
		return false;
	});

на «кнопки» в header_top.tpl
<ul class="auth">
			{hook run='userbar_item'}
			<li><a href="{router page='registration'}" class="js-registration-form-show">{$aLang.registration_submit}</a></li>
			<li><a href="{router page='login'}" class="js-login-form-show sign-in">{$aLang.user_login_submit}</a></li>
		</ul>
  • avatar PSNet
  • 0
его нужно создать:
<div id="window_id" class="modal">
  <header class="modal-header">
    <h3>title</h3>
    <a href="#" class="close jqmClose"></a>
  </header>

  <div class="modal-content">
    something inside

  </div>
</div>


потом привязать вызов:
$('#window_id').jqm({trigger: '#link_to_open_id'});


и кнопка для вызова:
<span id="link_to_open_id">open my window</span>
  • avatar lsmaka
  • 3
Приветствую,
Если я правильно понял то речь идет о блоке Прямой эфир?

Если так то:
1. в templates/skin/ИмяШаблона/js/template.js ищем функцию
	// Всплывающие сообщения
	if (ls.registry.get('block_stream_show_tip')) {
		$('.js-title-comment, .js-title-topic').poshytip({
			className: 'infobox-yellow',
			alignTo: 'target',
			alignX: 'left',
			alignY: 'center',
			offsetX: 10,
			liveEvents: true,
			showTimeout: 1000
		});
	}


и меняем showTimeout: 1000 на меньшее значение (1000 = 1 сек)

2. Не совсем понятно зачем это потому как кол-во комментариев уже выводиться. Но, как говориться, хозяин — барин. Универсального решения нет потому как все зависит от шаблона: в developer это просто текст а в synio стили с иконками. В общем случае надо в файлах
templates/skin/ИмяШаблона/blocks/block.stream_comment.tpl
templates/skin/ИмяШаблона/blocks/block.stream_topik.tpl

изменить (для developer — комментарии)
<li class="js-title-topic" title="{$oComment->getText()|strip_tags|trim|truncate:150:'...'|escape:'html'}">


Например, для developer — комментарии это будет выглядеть так:
<li class="js-title-comment" title="{$oComment->getText()|strip_tags|trim|truncate:150:'...'|escape:'html'}
{$oTopic->getCountComment()} {$oTopic->getCountComment()|declension:$aLang.comment_declension:'russian'}">


Для synio немного нет так:
{assign var="sCommentsTipBegin" value=' <span class="block-item-comments"><i class="icon-synio-comments-small"></i></span>'}
{assign var="sCommentsTipEnd" value='</span>'}
		
		<li class="js-title-comment" title="{$oComment->getText()|strip_tags|trim|truncate:100:'...'|escape:'html'}{$sCommentsTipBegin|escape:'html'} {$oTopic->getCountComment()} {$sCommentsTipEnd|escape:'html'}">


Вообщем как-то так…
Тоже сначала использовал fulltextrssfeeds, потом понял что он не грабит видео из ютуба в новости с нужного ресурса, попросил на работе, помогли с парсером, может поможет кому.

<?php

$urls = array_map('trim', file('warsow.txt'));
header('Content-type: text/xml');
$rss = new DOMDocument;
$rss->load('http://www.esreality.com/rss_xml.php?category=41');
$items = $rss->getElementsByTagName('item');
$remove = array();
foreach($items as $item) {
	$link = $item->getElementsByTagName('link')->item(0);
	if(!in_array($link->nodeValue, $urls)) {
		$desc = $item->getElementsByTagName('description')->item(0);
		$html = new DOMDocument;
		@$html->loadHTMLFile($link->nodeValue);
		$xpath = new DOMXPath($html);
		$contents = $xpath->query('/html/body/div[@id="middle"]/div[@class="post"]/div[@class="postbox"]/div[@class="postcontent"]/div[@class="wrap"]')->item(0);
		foreach($contents->getElementsByTagName('img') as $img) {
			$src = $img->getAttribute('src');
			if(false === strpos($src, 'http://')) {
				$img->setAttribute('src', 'http://www.esreality.com' . $src);
			}
		}
		foreach($contents->getElementsByTagName('a') as $a) {
			$href = $img->getAttribute('href');
			if($href && false === strpos($href, 'http://')) {
				$a->setAttribute('href', 'http://www.esreality.com' . $href);
			}
		}
		$cdata = new DOMCdataSection($contents->ownerDocument->saveXML($contents));
		$desc->replaceChild($cdata, $desc->childNodes->item(0));
		$urls[] = $link->nodeValue;
	} else {
		$remove[] = $item;
	}
}
file_put_contents('esreality.txt', implode(PHP_EOL, array_slice($urls, -$items->length, $items->length)));
foreach($remove as $item) {
	$item->parentNode->removeChild($item);
}
echo $rss->saveXML();
  • avatar bamboo
  • 0
{if $bTopicList}краткий{else}полный{/if}
stfalcon, посмотри на тему — habrahabr.ru/post/153073/ и на демо (клацни на фотке). ИМХО, такая галерея НУЖНА! Это будет современно. Готов задонатить за такую модификацию.

Для тех, кому лень ходить по ссылкам: на демке показана реализвация просмотра изображений в удобных (т.е. без всякой дибильной анимации) модальных окнах с еще более удобной навигацией, знакомой нам по альбомам в ВК.
  • avatar Shrike
  • 0
Скорректируйте роутер в config/config.php
$config['router']['page']['link']          = 'ActionLink';
..
$config['router']['page']['question']      = 'ActionQuestion';
$config['router']['page']['photoset']      = 'ActionPhotoset';

Закомментируйте эти строки и будет Вам счастье.
  • avatar Rix
  • 0
в хуке добавилял вот такое условие

if (Router::GetAction()=="topic" && Router::GetActionEvent()=="add")
{
$this->Plugin_Delegate('template','editor.tpl',Plugin::GetTemplateWebPath(__CLASS__).'Redactorjs.tpl');
}


вышла ошибка:
Fatal error: Uncaught exception 'SmartyException' with message 'Unable to load template http '//site.com/plugins/redactorjs/templates/skin/default/Redactorjs.tpl' in 'actions/ActionTopic/add.tpl'' in /var/www/vhosts/httpdocs/site.com/engine/lib/external/Smarty/libs/sysplugins/smarty_internal_templatebase.php:127
  • avatar PSNet
  • 2
в файл topic_list.tpl шаблона внести изменения (выделено что именно внести)


{if count($aTopics)>0}
	{add_block group='toolbar' name='toolbar_topic.tpl' iCountTopic=count($aTopics)}

	{foreach from=$aTopics item=oTopic}
		{if $LS->Topic_IsAllowTopicType($oTopic->getType())}
			{assign var="sTopicTemplateName" value="topic_`$oTopic->getType()`.tpl"}
			{include file=$sTopicTemplateName bTopicList=true}
			




      {* начало кода комментариев *}
      {assign var="aCommentsPreview" value=$LS->Comment_GetCommentsByTargetId($oTopic->getId(),'topic',1,3)}

      {foreach from=$aCommentsPreview.comments item=oComment}
        {assign var="oUser" value=$oComment->getUser()}
        {assign var="oTopic" value=$oComment->getTarget()}
        {assign var="oBlog" value=$oTopic->getBlog()}

        user: {$oUser->getLogin()}
        comment: {$oComment->getText()}
        <br />
        
      {/foreach}
      {* /конец кода комментариев *}







		{/if}
	{/foreach}

	{include file='paging.tpl' aPaging=$aPaging}
{else}
	{$aLang.blog_no_topic}
{/if}

  • avatar xyz
  • 0
какой-то из файлов у вас сохранен в utf8 с bom, а надо — без bom
{count($aUsersFriend)} — кол-во друзей
{count($aBlogsOwner)} — кол-во созданных блогов
{count($aBlogAdministrators)} — кол-во администрируемых блогов
{count($aBlogModerators)} — кол-во модерируемых блогов
{count($aBlogUsers)} — кол-во читаемых блогов
  • avatar Shrike
  • 2
В LS используется JQuery плагин jqmodal (engine\lib\external\jquery\jquery.jqmodal.js)
Окна рисуются блоками пример window_login.tpl в templates\skin\new-jquery.
Инициализация всех jqm окон происходит в main.js templates\skin\new-jquery\js
jQuery(document).ready(function($){
	// Всплывающие окна
	$('#login_form').jqm({trigger: '#login_form_show'});
	$('#blog_delete_form').jqm({trigger: '#blog_delete_show'});
	$('#add_friend_form').jqm({trigger: '#add_friend_show'});
	$('#form_upload_img').jqm();
	$('#userfield_form').jqm();
...
, где триггер — это ID запускающего элемента, например header_top.tpl:
<div class="auth">
	<a href="{router page='login'}" id="login_form_show" class="login-link">{$aLang.user_login_submit}</a> {$aLang.or} 
	<a href="{router page='registration'}">{$aLang.registration_submit}</a>
</div>

Всего просто: рисуем окно, инициализируем с qjmodal c триггером или без, если окно в скрипте будет вызываться
нажав на выход, ждем 3 секунды до полной готовности
<meta  HTTP-EQUIV="Refresh" CONTENT="3; URL=http://livestreet.ru/">

после чего попадаем на главную
  • avatar kerby
  • 0
Куда уж проще… А если вы имели в виду по-конкретней, то…

В файл /classes/actions/ActionTopic.class.php в функции checkTopicFields в районе 527 строки (в зависимости от версии) находите строчки
$sTags=getRequest('topic_tags',null,'post');
$aTags=explode(',',$sTags);


меняете на

$sTags=getRequest('topic_tags',null,'post');
if (trim($sTags)!="") $sTags.=",тег1,тег2";
$aTags=explode(',',$sTags);


Что должно вам помочь добавлять ко всем публикуемым топикам теги «тег1» и «тег2»… Правда остается непонятным зачем вам это надо :)