DLE модификация ShowMore

Категория: Модули DLE » Модуль для DLE 11.2, 11.1, 11.0, 10.6, 10.5, 10.4, 10.3, 10.2, 10.1, 10.0, 9.8, 9.7, 9.6, 9.5, 9.4, 9.3, 9.2, 9.0
DLE модификация ShowMore
Представляем вам хак для DLE модификация ShowMore предназначена для показа новостей на главной, в категории и в поиске в нестандартном виде. Вы нажимаете на кнопку "Показать еще" и ниже показываются еще некоторое количество новостей. Думаю в соц. сетях вы уже встречались с подобным. Хаки Модификация - это хак улучшенный версии, как хак DataLife Engine ShowMore более применим для мобильных версий сайта, но вам никто и не запрещает ставить его на основной. Всё в ваших руках. Суть состоит в том, что пользователь нажимаешь на кнопку "Показать ещё" и ему ниже показывается ещё несколько новостей.www.dle9.com

Данное решение применимо больше для мобильных версий сайта, однако при желании можно применять и на основных версиях.
В архиве содержится папка file_repace. Вы можете заменить файлы и у Вас всё сразу заработает. Этот способ применим, если у Вас DLE 10.3 свежая.
В противном случае Вам необходимо провести установку самостоятельно по инструкции ниже.

Кодировка: windows-1251

В архиве есть папка file_repace. Вы можете заменить файлы и у вас всё сразу заработает, но этот способ применим только, если у вас DLE 10.3, свежая. Если же нет, то вам необходимо провести установку самостоятельно по инструкции, она также есть в архиве.

Установка:
========================

1. templates\Default\main.tpl

Найти

{content}


Заменить на

[aviable=cat|main]
[showmore]
<div id="ajax-content">
[/showmore]
[/aviable]
						&#123;content}
[aviable=cat|main]
[showmore]
</div>

$(document).ready(function(){

	$('#ajax-more').click(function(){
		var nextPage = $('#ajax-next-page > a').attr('href');
		ShowLoading('');
		if (nextPage !== undefined) {
			$.ajax({
				type: 'POST',
				url: nextPage,
				success: function(data){
					$('#ajax-next-page').remove();
					HideLoading('');
					$('#ajax-content').append($('#ajax-content',data).html());
					if($('#ajax-next-page span').length){
						$('#ajax-more').remove();
					}
				},
				error: function(){
					HideLoading('');
				},
				dataType: 'html'
			});
		}
		return false;
	});

});

[center][url=#" class=]Показать ещё[/url][/center]
[/showmore]
[/aviable]
[aviable=search]
</div>
[showmore]

$(document).ready(function(){

	$('#ajax-search-more').click(function(){
		var nextPage = '{config_url}index.php?do=search';
		$('#search_start').val($('#ajax-next-page > a').data('next'));
		$('#result_ajax').val('1');
		ShowLoading('');

		if (nextPage !== undefined) {
			$.ajax({
				type: 'POST',
				url: nextPage,
				d&#097;ta: $('#fullsearch').serialize(),
				contentType: 'application/x-www-form-urlencoded;charset=windows-1251',
				success: function(data){
					$('#ajax-next-page').remove();
					HideLoading('');
					$('#ajax-search').append($('#ajax-search',data).html());
					if($('#ajax-next-page span').length){
						$('#ajax-search-more').remove();
					}
				},
				error: function(){
					HideLoading('');
				},
				dataType: 'html'
			});
		}
		return false;
	});

});

[center][url=#" class=]Показать ещё[/url][/center]
[/showmore]
[/aviable]


2. templates\Default\style\styles.css

В самый низ добавить

.btn_showmore {
	-moz-box-shadow: 0px 0px 0px 2px #9fb4f2;
	-webkit-box-shadow: 0px 0px 0px 2px #9fb4f2;
	box-shadow: 0px 0px 0px 2px #9fb4f2;
	background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #1f82d3), color-stop(1, #1f82d3));
	background:-moz-linear-gradient(top, #1f82d3 5%, #1f82d3 100%);
	background:-webkit-linear-gradient(top, #1f82d3 5%, #1f82d3 100%);
	background:-o-linear-gradient(top, #1f82d3 5%, #1f82d3 100%);
	background:-ms-linear-gradient(top, #1f82d3 5%, #1f82d3 100%);
	background:linear-gradient(to bottom, #1f82d3 5%, #1f82d3 100%);
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#1f82d3', endColorstr='#1f82d3',GradientType=0);
	background-color:#1f82d3;
	-moz-border-radius:10px;
	-webkit-border-radius:10px;
	border-radius:10px;
	border:1px solid #4e6096;
	display:inline-block;
	cursor:pointer;
	color:#ffffff;
	font-family:arial;
	font-size:23px;
	padding:15px 33px;
	text-decoration:none;
	text-shadow:0px 1px 0px #283966;
}
.btn_showmore:hover {
	background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #1f82d3), color-stop(1, #1f82d3));
	background:-moz-linear-gradient(top, #1f82d3 5%, #1f82d3 100%);
	background:-webkit-linear-gradient(top, #1f82d3 5%, #1f82d3 100%);
	background:-o-linear-gradient(top, #1f82d3 5%, #1f82d3 100%);
	background:-ms-linear-gradient(top, #1f82d3 5%, #1f82d3 100%);
	background:linear-gradient(to bottom, #1f82d3 5%, #1f82d3 100%);
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#1f82d3', endColorstr='#1f82d3',GradientType=0);
	background-color:#1f82d3;
}
.btn_showmore:active {
	position:relative;
	top:1px;
}



3. templates\Default\navigation.tpl

Содержимое заменить на

<div id="ajax-next-page">[next-link][/next-link]</div>


4. templates\Default\search.tpl

В самый низ добавить

<div id="ajax-search">

5. engine\modules\search.php

Найти

	$tpl->copy_template .= <<<HTML


Заменить на

	$script = <<<HTML


Найти

<input type="hidden" name="result_from" id="result_from" value="$result_from" />
HTML;


Заменить на

<input type="hidden" name="result_from" id="result_from" value="$result_from" />
<input type="hidden" name="result_ajax" id="result_ajax" value="0" />
HTML;
	$tpl->copy_template = $script . $tpl->copy_template;


Найти

			$prev_page = "<a name=\"prevlink\" id=\"prevlink\" onclick=\"javascript:list_submit($prev); return(false)\" href=\"#\">";


Заменить на

			$prev_page = "<a name=\"prevlink\" id=\"prevlink\" data-next=\"$prev\" onclick=\"javascript:list_submit($prev); return(false)\" href=\"#\">";


Найти

			$next = "<a name=\"nextlink\" id=\"nextlink\" onclick=\"javascript:list_submit($next_page); return(false)\" href=\"#\">";


Заменить на

			$next = "<a name=\"nextlink\" id=\"nextlink\" data-next=\"$next_page\" onclick=\"javascript:list_submit($next_page); return(false)\" href=\"#\">";


6. index.php

Найти

$tpl->set ( '{content}', "
" . $tpl->result['content'] . "
" );


Добавить ниже

if($tpl->result['content'] == "" OR ($do == 'search' AND $tpl->result['info'] != "")) {
	$tpl->set_block ( "'\\[showmore\\].*?\\[/showmore\\]'si", "" );
} else {
	$tpl->set_block ( "'\\[showmore\\](.*?)\\[/showmore\\]'si", "\\1" );
}


Найти

echo $tpl->result['main'];


Добавить ВЫШЕ

$tpl->result['main'] = str_replace ( '{config_url}', $config['http_home_url'], $tpl->result['main'] );


Автор: Павел Жуковский
Сайт: http://savgroup ru/
Мы делаем только качественные скрипты.
  • 60
Рубрика: DLE модули » Бесплатные
Ранее » AJAX FULLSTORY« Далее Модуль для DLE Conclusion attachments v3.1
Добавление комментарияОставить комментарий
  • № :2
  • 3 августа 2015 15:44
Цитата: Vardan
У меня версия DLe 10.5,не могу сделать последную часть в index.php помогите пожулуйста.

советую использовать код из текстового файла, в браузере код меняется и может создать ошибку.

последняя часть кода добавляется в engine/modules/main.php

разработчики перенесли большую часть кода из файла index.php в engine/modules/main.php
  • № :1
  • 3 августа 2015 15:22
У меня версия DLe 10.5,не могу сделать последную часть в index.php помогите пожулуйста.