+0.54
Рейтинг
2.70
Сила

Жанатбек

  • avatar vOFFka
  • 1
В template.js добавляем:

$(function () {
  $('[data-toggle="tooltip"]').tooltip()
})


Ссылки делаем вида:

<a href="{router page='blogs'}" data-toggle="tooltip" data-placement="bottom" data-original-title="Some tooltip text!">{$aLang.blogs}</a>
  • avatar vOFFka
  • 1
getbootstrap.com/javascript/#tooltips

Файл header-top.tpl
Попробуйте так
Как вариант можно посмотреть на этот сайт
Сначала выбираете id всех блогов
SELECT blog_id FROM blog WHERE blog_type='open'

Затем выбираете id всех пользователей
SELECT user_id FROM user

Потом помещаете в таблицу
INSERT INTO blog_user (blog_id, user_id) VALUES (1, 1),(1, 2)

Значения к VALUES добавляете через цикл => надо написать простенький скрипт.
  • avatar AlikMis
  • 2
/classes/modules/topic/Topic.class.php
$aTags=explode(',',$oTopic->getTags());

заменяем два раза на
$aTags=preg_split("/[#,]/",$oTopic->getTags());
$aTags=array_filter($aTags);

/classes/modules/topic/entity/Topic.entity.class.php
public function getTagsArray() {
	if ($this->getTags()) {
		$aTags=preg_split("/[#,]/",$this->getTags());
		return array_filter($aTags);
	}
	return array();
}

Должно работать
… немного ошибся в 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; }
  • avatar WEB-UI
  • 1
Большое спасибо, с тегами решил проблему. К сожалению, я еще не достаточно окреп, что бы дать Вам плюс! :)
У меня стоит шаблон от vOFFKa, может быть, такому неудачнику как я и пригодится.

1. Идем в config/config.php и находим эту строчку
$config['module']['topic']['allow_empty_tags'] = false; // Ставим «true»
2. Теперь переходим сюда \templates\skin\vMMORPG\actions\ActionTopic\add.tpl и открываем. Там мы увидим примерно вот такое:

<div class="form-group">
    <label for="topic_tags">{$aLang.topic_create_tags}</label>
    <input type="text" id="topic_tags" name="topic_tags" value="{$_aRequest.topic_tags}" class="form-control autocomplete-tags-sep" />
    <p class="help-block"><small>{$aLang.topic_create_tags_notice}</small></p>
</div>


И сверху добавляем {if $oUserCurrent->isAdministrator()}, и внизу закрываем {/if}. Должно быть примерно так:
{if $oUserCurrent->isAdministrator()}
<div class="form-group">
    <label for="topic_tags">{$aLang.topic_create_tags}</label>
    <input type="text" id="topic_tags" name="topic_tags" value="{$_aRequest.topic_tags}" class="form-control autocomplete-tags-sep" />
    <p class="help-block"><small>{$aLang.topic_create_tags_notice}</small></p>
</div>{/if}
  • avatar ort
  • 0
  • avatar PSNet
  • 4
можно начать с того, что не боятся спросить у роутера напрямую имя экшена:

{if Router::GetAction()=='feed'}
    стандартный вывод топиков
{else}
    плиточный вывод
{/if}
  • avatar leginnn
  • 3
{if $oTopic->getPreviewImageWebPath('100crop')}
              <img src="{$oTopic->getPreviewImageWebPath('100crop')}" alt="{$oTopic->getTitle()|escape:'html'}" />
            {else}
              <img src="{cfg name='path.root.web'}/uploads/banners/100.png"  alt="{$oTopic->getTitle()|escape:'html'}" />
            {/if}
  • avatar vOFFka
  • 2
{if $oTopic->getPreviewImageWebPath()}
    <a href="{$oTopic->getUrl()}"><img class="topic_preview" src="{$oTopic->getPreviewImageWebPath(300crop)}"></a>
{else}
    <a href="{$oTopic->getUrl()}"><img class="topic_preview" src="{cfg name="path.static.skin"}/images/default.gif"></a>
{/if}


где default.gif — дефолтное изображение в папке images шаблона.
\classes\actions\ActionAjax.class.php
строка 987
$oTopic->_Validate(array('topic_title','topic_text','topic_tags','topic_type'),false);
убираем 'topic_tags',
Либо вставляйте код сюда,
либо оберните его в:
{if !$bTopicList}
    ...
{/if}
Исправляем урлы топикам
\classes\modules\topic\entity\Topic.entity.class.php
public function getUrl() {
	if ($this->getBlog()->getType()=='personal') {
		return Router::GetPath('blog').$this->getId().'.html';
	} else {
		return Router::GetPath('community').$this->getBlog()->getUrl().'/'.$this->getId().'.html';
	}
}

Исправляем урлы блогам
\classes\modules\blog\entity\Blog.entity.class.php
public function getUrlFull() {
	if ($this->getType()=='personal') {
		return $this->getOwner()->getUserWebPath().'created/topics/';
	} else {
		return Router::GetPath('community').$this->getUrl().'/';
	}
}

Добавляем реврайты
$config['router']['uri'] = array(
	// короткий вызов топиков из личных блогов
	'~^(\d+)\.html~i' => "blog/\\1.html",
	'~^community/(\w+)/(\d+)\.html~i' => "blog/\\1/\\2.html",
	'~^community/(\w+)~i' => "blog/\\1",
);


теперь блог виден как http__://site.ru/community/blog_url/, топик в нем http__://site.ru/community/blog_url/1.html, а топики из личных так и остаются как http__://site.ru/blog/2.html

зы: пользуйтесь на свой страх и риск, понятия не имею к чему данная конструкция приведет, но задачу выше решает
  • avatar vOFFka
  • 3
Да. Ну как-нибудь так, например:

/**
 * Настройки вывода блоков
 */
$config['block']['rule_index_tags'] = array(
	'action'  => array(
			'index'
		),
	'blocks'  => array(
			'footer' => array('tags'=>array('priority'=>50))
		),
	'clear' => false,
);
  • avatar vOFFka
  • 3
Если кратко, то в необходимом месте футера добавить зону для вывода блоков:

{include file='blocks.tpl' group='footer'}


Настроить в конфигге сайта вывод в нее блока облака тегов, и обыграть стилями, если необходимо.
{if $oUserCurrent}
	Этот текст видят залогиненые
    {else}
	А этот видят гости
{/if}
  • avatar lol
  • 1
я всегда свой сайт проверяю через Lynx Browser, таким образом убрал повторы, например в оригинальном шаблоне 2 раза повторяется название сайта, на мой взгляд это не правильно. Тем более как всегда я говорил даже поисковик гугл просит проверять сайт через Lynx Browser именно таким образом будет сканироваться ваш сайт роботом.
По поводу этого кода
{if $sAction=='index'}
      {assign var="sSiteTitleTag" value="h1"}
      {assign var="sSiteDescriptionTag" value="h2"}
    {else}
      {assign var="sSiteTitleTag" value="h2"}
      {assign var="sSiteDescriptionTag" value="h3"}
    {/if}
  
    <{$sSiteTitleTag} class="site-name"><a href="{cfg name='path.root.web'}">
{cfg name='view.name'}</a></{$sSiteTitleTag}>
    <{$sSiteDescriptionTag} class="site-description">
{cfg name='view.description'}</{$sSiteDescriptionTag}>

я думаю это не обязательно, ибо даже на habr все посты имеют h1, но используя такую технологию есть шанс что это к чему то приведет, поисковики любят когда все красиво оптимизировано.
А дальше думайте сами.