+2.84
Рейтинг
8.47
Сила

Олег

  • avatar leginnn
  • 0
Зачетная тема, одна из первых вызвала желание купить.
Но…
Сильно напрягло выпадающее меню. Пусть лучше оно автоматически выпадает при наведении, так как выпавши раз открытое меню остается при скроле сайта — реально мешает просмотру.
И оно же будучи прилепленным к шапке при клике на нем поднимает весь сайт вверх, к началу — имхо — тоже напрягает.
СЕО… Звучит угрожающе…
Парни имели ввиду, что при индексации общей ленты страницы, попав в общую ленту не сохраняют свое положение, так как добавляются новые материалы…
Решается очень просто, способов всего два:
1. закрыть от индексации общую ленту (кроме главной) — файл robots.txt
2. понизить значимость ленты в индексе поисковиков — sitemap.xml (смотрите коэффициенты).
и тогда большее значение будет придаваться со стороны ПС именно конкретным статьям, а не потоку.
Я что имею, то введу
и еще, интересные материалы требуют ссылок с других ресурсов, не проставляйте ссыли только на главную…
Блин, спали фишки…
Печать и поделиться… мне кажется такая реализация правильная…
Хотя это со стороны сервиса так отрабатывается процедура.
Полный код файла, который получился:
{assign var="oBlog" value=$oTopic->getBlog()}
	{assign var="oUser" value=$oTopic->getUser()}
	{assign var="oVote" value=$oTopic->getVote()}
	{assign var="oFavourite" value=$oTopic->getFavourite()}


	<footer class="topic-footer">
		<ul class="topic-tags js-favourite-insert-after-form js-favourite-tags-topic-{$oTopic->getId()}">
			<li><i class="icon-synio-tags"></i></li>
			
			{strip}
				{if $oTopic->getTagsArray()}
					{foreach from=$oTopic->getTagsArray() item=sTag name=tags_list}
						<li>{if !$smarty.foreach.tags_list.first}, {/if}<a rel="tag" href="{router page='tag'}{$sTag|escape:'url'}/">{$sTag|escape:'html'}</a></li>
					{/foreach}
				{else}
					<li>{$aLang.topic_tags_empty}</li>
				{/if}
				
				{if $oUserCurrent}
					{if $oFavourite}
						{foreach from=$oFavourite->getTagsArray() item=sTag name=tags_list_user}
							<li class="topic-tags-user js-favourite-tag-user">, <a rel="tag" href="{$oUserCurrent->getUserWebPath()}favourites/topics/tag/{$sTag|escape:'url'}/">{$sTag|escape:'html'}</a></li>
						{/foreach}
					{/if}
					
					<li class="topic-tags-edit js-favourite-tag-edit" {if !$oFavourite}style="display:none;"{/if}>
						<a href="#" onclick="return ls.favourite.showEditTags({$oTopic->getId()},'topic',this);" class="link-dotted">{$aLang.favourite_form_tags_button_show}</a>
					</li>
				{/if}
			{/strip}
		</ul>
		
		
		
		<ul class="topic-info">
			<li class="topic-info-author">
				<a href="{$oUser->getUserWebPath()}"><img src="{$oUser->getProfileAvatarPath(24)}" alt="avatar" class="avatar" /></a>
				<a rel="author" href="{$oUser->getUserWebPath()}">{$oUser->getLogin()}</a>
			</li>
			<li class="topic-info-date">
				<time datetime="{date_format date=$oTopic->getDateAdd() format='c'}" title="{date_format date=$oTopic->getDateAdd() format='j F Y, H:i'}">
					{date_format date=$oTopic->getDateAdd() hours_back="12" minutes_back="60" now="60" day="day H:i" format="j F Y, H:i"}
				</time>
			</li>
			
			<li class="topic-info-favourite" onclick="return ls.favourite.toggle({$oTopic->getId()},$('#fav_topic_{$oTopic->getId()}'),'topic');">
				<i id="fav_topic_{$oTopic->getId()}" class="favourite {if $oUserCurrent && $oTopic->getIsFavourite()}active{/if}"></i>
				<span class="favourite-count" id="fav_count_topic_{$oTopic->getId()}">{if $oTopic->getCountFavourite()>0}{$oTopic->getCountFavourite()}{/if}</span>
			</li>
		
			{if $bTopicList}
				<li class="topic-info-comments">
					{if $oTopic->getCountCommentNew()}
						<a href="{$oTopic->getUrl()}#comments" title="{$aLang.topic_comment_read}" class="new">
							<i class="icon-synio-comments-green-filled"></i>
							<span>{$oTopic->getCountComment()}</span>
							<span class="count">+{$oTopic->getCountCommentNew()}</span>
						</a>
					{else}
						<a href="{$oTopic->getUrl()}#comments" title="{$aLang.topic_comment_read}">
							{if $oTopic->getCountComment()}
								<i class="icon-synio-comments-green-filled"></i>
							{else}
								<i class="icon-synio-comments-blue"></i>
							{/if}
							
							<span>{$oTopic->getCountComment()}</span>
						</a>
					{/if}
				</li>
			{/if}


			{if $oVote || ($oUserCurrent && $oTopic->getUserId() == $oUserCurrent->getId()) || strtotime($oTopic->getDateAdd()) < $smarty.now-$oConfig->GetValue('acl.vote.topic.limit_time')}
				{assign var="bVoteInfoShow" value=true}
			{/if}
			
			<li class="topic-info-vote">
				<div id="vote_area_topic_{$oTopic->getId()}" class="vote-topic
																	{if $oVote || ($oUserCurrent && $oTopic->getUserId() == $oUserCurrent->getId()) || strtotime($oTopic->getDateAdd()) < $smarty.now-$oConfig->GetValue('acl.vote.topic.limit_time')}
																		{if $oTopic->getRating() > 0}
																			vote-count-positive
																		{elseif $oTopic->getRating() < 0}
																			vote-count-negative
																		{elseif $oTopic->getRating() == 0}
																			vote-count-zero
																		{/if}
																	{/if}
																	
																	{if !$oUserCurrent or ($oUserCurrent && $oTopic->getUserId() != $oUserCurrent->getId())}
																		vote-not-self
																	{/if}
																	
																	{if $oVote} 
																		voted
																		
																		{if $oVote->getDirection() > 0}
																			voted-up
																		{elseif $oVote->getDirection() < 0}
																			voted-down
																		{elseif $oVote->getDirection() == 0}
																			voted-zero
																		{/if}
																	{else}
																		not-voted
																	{/if}
																	
																	{if (strtotime($oTopic->getDateAdd()) < $smarty.now-$oConfig->GetValue('acl.vote.topic.limit_time') && !$oVote) || ($oUserCurrent && $oTopic->getUserId() == $oUserCurrent->getId())}
																		vote-nobuttons
																	{/if}
																	
																	{if strtotime($oTopic->getDateAdd()) > $smarty.now-$oConfig->GetValue('acl.vote.topic.limit_time')}
																		vote-not-expired
																	{/if}

																	{if $bVoteInfoShow}js-infobox-vote-topic{/if}">
					<div class="vote-item vote-down" onclick="return ls.vote.vote({$oTopic->getId()},this,-1,'topic');"><span><i></i></span></div>
					<div class="vote-item vote-count" title="{$aLang.topic_vote_count}: {$oTopic->getCountVote()}">
						<span id="vote_total_topic_{$oTopic->getId()}">
							{if $bVoteInfoShow}
								{if $oTopic->getRating() > 0}+{/if}{$oTopic->getRating()}
							{else}
								<i onclick="return ls.vote.vote({$oTopic->getId()},this,0,'topic');"></i>
							{/if}
						</span>
					</div>
					<div class="vote-item vote-up" onclick="return ls.vote.vote({$oTopic->getId()},this,1,'topic');"><span><i></i></span></div>
					{if $bVoteInfoShow}
						<div id="vote-info-topic-{$oTopic->getId()}" style="display: none;">
							<ul class="vote-topic-info">
								<li><i class="icon-synio-vote-info-up"></i> {$oTopic->getCountVoteUp()}</li>
								<li><i class="icon-synio-vote-info-down"></i> {$oTopic->getCountVoteDown()}</li>
								<li><i class="icon-synio-vote-info-zero"></i> {$oTopic->getCountVoteAbstain()}</li>
								{hook run='topic_show_vote_stats' topic=$oTopic}
							</ul>
						</div>
					{/if}
				</div>
			</li>
			
			{hook run='topic_show_info' topic=$oTopic}
		
		<script type="text/javascript">(function() {
          if (window.pluso)if (typeof window.pluso.start == "function") return;
          var d = document, s = d.createElement('script'), g = 'getElementsByTagName';
          s.type = 'text/javascript'; s.charset='UTF-8'; s.async = true;
          s.src = ('https:' == window.location.protocol ? 'https' : 'http')  + '://share.pluso.ru/pluso-like.js';
          var h=d[g]('head')[0] || d[g]('body')[0];
          h.appendChild(s);
          })();</script>
        <div class="pluso" data-options="small,round,line,horizontal,nocounter,theme=04" data-services="vkontakte,odnoklassniki,facebook,twitter,google,moimir,email,print" data-background="transparent" data-url="{$oTopic->getUrl()}" data-title="{$oTopic->getTitle()|escape:'html'}"></div>
		</ul>

		
		{if !$bTopicList}
			{hook run='topic_show_end' topic=$oTopic}
		{/if}
	</footer>
</article> <!-- /.topic -->


Особое внимание обратите на конец кода для вставки плюсо:
там плюшка со вставкой урла и названия статьи (очень полезно окажется для того чтоб поделиться материалом из общего потока.

Пример как всегда на сайте ДеньД.рф

если нажать на кнопку поделиться в общей ленте, то передастся именно тот материал, к которому относятся кнопки!!!
Например в файле темы topic_part_footer.tpl
замените код блока на такой:

<div class="topic-share" id="topic_share_{$oTopic->getId()}">
			<script type="text/javascript">(function() {
          if (window.pluso)if (typeof window.pluso.start == "function") return;
          var d = document, s = d.createElement('script'), g = 'getElementsByTagName';
          s.type = 'text/javascript'; s.charset='UTF-8'; s.async = true;
          s.src = ('https:' == window.location.protocol ? 'https' : 'http')  + '://share.pluso.ru/pluso-like.js';
          var h=d[g]('head')[0] || d[g]('body')[0];
          h.appendChild(s);
          })();</script>
        <div class="pluso" data-options="small,round,line,horizontal,nocounter,theme=04" data-services="vkontakte,odnoklassniki,facebook,twitter,google,moimir,email,print" data-background="transparent"></div>
		</div>

получится, что вместо стандартного сервиса Zндекса будет показываться Pluso
Правильно верите. Так как редко кто обращает внимание на сообщения поисковых машин в панели вебмастера, а гугл без намеков ругается на дубляж заголовков с разными путями, но одинаковым содержанием.

Спасибо за офигенский плагин.

Еще бы микродату прикрутить к ЛС (description и рейтинг статьи в звездочках) — цены бы не было. Сайты реально начинают двигаться в выдаче заметно лучше, ну когда контент есть. А если его нет, то никакая техническая примочка не поможет.
Спасибо.
нашел мены на хабре про Эксплорер:
habrahabr.ru/special/microsoft/ie10/mems/
И можно даже без подключения скрипта, просто не будет гламурной плавности, а перепилить css стиль можно под свои нужды.
Просто удобный конструктор для начинающих.

Почему именно выпадающее меню? Потому что в 1 клик попадаешь в нужное русло, а не в 4 клика пытаешься дошкрести до нужной точки. Да и нагляднее.
Жаль что в базовой поставке ничего подобного нет, собственно как и в каталоге…
Еще бы автоматически научить это меню заполняться названиями блогов… или категорий из плагина, вот было бы здорово…
Спасибо за грамотные ответы ;), а то я тему создал и забыл…
Хотя с описанной задачей я всю ночь боролся, пока не победил!
Все сами… все сами… сил аж нет ;)
Кстати, глянул аналитику, за месяц — целых 191 человек было с IE? из них 172 — с IE6!!!
Тут как ни крутись, а на такую аудиторию рассчитывать…
Подозреваю, что это были офисные работники, владельцы которых давно не обновляли ПО и парк техники (Привет админам!)
загрузился с виртуальной машины с XP — пробовал посмотреть страницы в IE 6 и 7 версии, даже на 6-ке сносно отобразилось и пагинация работает…

А можно скрин в чем ошибка?
Я даже посмотреть не могу, так как не имею IE ниже 10 версии…
уговорили — отключу…
А какой-нить скрипт для совместимости?..
Как например для стилей CSS?

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

Я в сказки про IE не верю, и картинка такая просто первая попалась из прикольных.

Обычно на хабре справа висели Мемы про IE новой версии — вот там прикольные были, а тут как назло не нашел.

Просто для меня IE — средство для загрузки другого браузера, того что пофункциональней и удобней. Когда они свой до ума доведут, так и пересяду. Мне пофигу — красный там кружок в логотипе, лиса или что-то разноцветное…
ну и хер на них… пользователей недобраузера

Там же не крашится вся страница?
(у меня уже нет 9 эксплорера, а качать неохота)
спасибо, уберу
Не знаю, открыл в IE 10 версии, ни на что не ругалось, навигация работает как часы…
если в конфиге пути поправлены, но картинки все-равно «не пашуть»,
то пробуем открыть базу данных сайта SQL и через правку заменяем
/путь/до/картинки/исходный/
на
/путь/до/картинки/конечный/
А что домен стал по-другому именоваться? С локального сервера в живой хостинг?
Аль ошибку какую выдает сайт?