Перейти к публикации

Рекомендованные сообщения

Предлагаю тему и прошу помощи. Можно ли при просмотре подробной новости, не выходя на главную страницу, сделать ссылки перехода в следующую подробную новость, либо в предыдущую, но тоже в подробную. Как в полной новости сайта установить стрелки для перехода?

Попробовал прописать в шаблоне раздела fullstory.tpl следующее, [prev-link] Назад [/prev-link], [next-link] Далее [/next-link], в таком вот виде: <div class="navigation" align="center" style="margin-bottom:10px; margin-top:10px;">[prev-link]Назад[/prev-link] {pages} [next-link]Далее[/next-link]</div>,

но всё это появилось вместе со скобками и без намёка на ссылки.

Может кто знает, как можно сделать подобные кнопки перехода, чтоб не выходя на главную бегать в подробных новостях?

Ссылка на сообщение
Поделиться на других сайтах

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

Ссылка на сообщение
Поделиться на других сайтах

Sasha1981, необходимо будет вам совершить некоторые телодвижения для достижения определенной вами же цели)

celsoft, с Вашего позволения)

В файле engine/inc/options.php

найти:


showRow( $lang['opt_sys_wdq'], $lang['opt_sys_wdsd'], makeDropDown( array ("1" => $lang['opt_sys_yes'], "0" => $lang['opt_sys_no'] ), "save_con

[allow_quick_wysiwyg]", "{$config['allow_quick_wysiwyg']}" ) );

ниже добавить:

showRow( $lang['opt_sys_full'], $lang['opt_sys_full_bn'], makeDropDown( array ("1" => "Да", "0" => "Нет" ), "save_con[backnext_allow]", "{$config['backnext_allow']}" ) 

);

В файле engine/modules/show.full.php найти:

if( $config['related_news'] ) {

выше добавить:

if( $config['backnext_allow'] == "1" ) { 

if( $config['allow_cache'] != "yes" ) { 

$config['allow_cache'] = "yes"; 

$revert_cache = true; 

} else 

$revert_cache = false; 

$back_link = dle_cache( "backlink", $row['id'] ); 

$next_link = dle_cache( "nextlink", $row['id'] ); 

if( $back_link === FALSE ) { 

// Back Link 

              $backlink = $db->super_query( "SELECT id, date, title, category, alt_name, flag FROM " . PREFIX . "_post WHERE date < FROM_UNIXTIME({$row['date']}) AND 


category = '{$row['category']}' AND approve = '1' ORDER BY date DESC LIMIT 0,1" ); 

if( $backlink ) { 

$backlink['date'] = strtotime( $backlink['date'] ); 

$backlink['category'] = intval( $backlink['category'] ); 

if( strlen( $backlink['title'] ) > 75 ) $backlink['title'] = substr( $backlink['title'], 0, 75 ) . " ..."; 

if( $config['allow_alt_url'] == "yes" ) { 

if( $backlink['flag'] and $config['seo_type'] ) { 

if( $backlink['category'] and $config['seo_type'] == 2 ) { 

$back_link = $config['http_home_url'] . get_url( $backlink['category'] ) . "/" . $backlink['id'] . "-" . $backlink['alt_name'] . ".html"; 

} else { 

$back_link = $config['http_home_url'] . $backlink['id'] . "-" . $backlink['alt_name'] . ".html"; 

} 

} else { 

$back_link = $config['http_home_url'] . date( 'Y/m/d/', $backlink['date'] ) . $backlink['alt_name'] . ".html"; 

} 

} else { 

$back_link = $config['http_home_url'] . "index.php?newsid=" . $backlink['id']; 

} 

} else { 

$back_link = ""; 

} 

if( $back_link ) { 

$back_link = "<a href=\"" . $back_link . "\">" . stripslashes( $backlink['title'] ) . "</a>"; 

} 

$db->free(); 

create_cache( "backlink", $back_link, $row['id'] ); 

} 

if( $next_link === FALSE ) { 

// Next Link 

$nextlink = $db->super_query( "SELECT id, date, title, category, alt_name, flag FROM " . PREFIX . "_post WHERE date > FROM_UNIXTIME({$row['date']}) AND category 


= '{$row['category']}' AND approve = '1' ORDER BY date ASC LIMIT 0,1" ); 

if ( $nextlink ) { 

$nextlink['date'] = strtotime( $nextlink['date'] ); 

$nextlink['category'] = intval( $nextlink['category'] ); 

if( strlen( $nextlink['title'] ) > 75 ) $nextlink['title'] = substr( $nextlink['title'], 0, 75 ) . " ..."; 

if( $config['allow_alt_url'] == "yes" ) { 

if( $nextlink['flag'] and $config['seo_type'] ) { 

if( $nextlink['category'] and $config['seo_type'] == 2 ) { 

$next_link = $config['http_home_url'] . get_url( $nextlink['category'] ) . "/" . $nextlink['id'] . "-" . $nextlink['alt_name'] . ".html"; 

} else { 

$next_link = $config['http_home_url'] . $nextlink['id'] . "-" . $nextlink['alt_name'] . ".html"; 

} 

} else { 

$next_link = $config['http_home_url'] . date( 'Y/m/d/', $nextlink['date'] ) . $nextlink['alt_name'] . ".html"; 

} 

} else { 

$next_link = $config['http_home_url'] . "index.php?newsid=" . $nextlink['id']; 

} 

} else { 

$next_link = ""; 

} 

if( $next_link ) { 

$next_link = "<a href=\"" . $next_link . "\">" . stripslashes( $nextlink['title'] ) . "</a>"; 

} 

$db->free(); 

create_cache( "nextlink", $next_link, $row['id'] ); 

}

if( $revert_cache ) $config['allow_cache'] = "no"; 

} else $back_link = $next_link = '';

// Back and Next Link Template 

$tpl->set( '{back-link}', $back_link ); 

$tpl->set( '{next-link}', $next_link );

В файле language/Russian/adminpanel.lng найти:

'wysiwyg_language' => "ru",

ниже добавить:

// Ссылки в полной новости на предыдущую и следующую новость

opt_sys_full => "Показывать предыдущую и следующую новости?",

opt_sys_full_bn => "Если 'Да', то в полной новости будет показыватся ссылка на предыдущую и следующую новости, если 'Нет', то ссылки показыватся не будут",

В шаблоне fullstory.tpl там, где необходимо отображать ссылки, добавить:

{back-link} - ссылка на предыдущую новость

{next-link} - ссылка на следующую новость

В админке в разделе: "Настройки системы" > "Новости" не забудьте указать:

"Показывать предыдущую и следующую новости?" - "Да"

Удачи!

Ссылка на сообщение
Поделиться на других сайтах

LADYX браво! скажите о какой версии ДЛЕ идет речь? 9.2 интересует.

Изменено пользователем Alex-Levsha
Ссылка на сообщение
Поделиться на других сайтах

Sasha1981, необходимо будет вам совершить некоторые телодвижения для достижения определенной вами же цели)

celsoft, с Вашего позволения)

В файле engine/inc/options.php

найти:


showRow( $lang['opt_sys_wdq'], $lang['opt_sys_wdsd'], makeDropDown( array ("1" => $lang['opt_sys_yes'], "0" => $lang['opt_sys_no'] ), "save_con

[allow_quick_wysiwyg]", "{$config['allow_quick_wysiwyg']}" ) );

ниже добавить:

showRow( $lang['opt_sys_full'], $lang['opt_sys_full_bn'], makeDropDown( array ("1" => "Да", "0" => "Нет" ), "save_con[backnext_allow]", "{$config['backnext_allow']}" ) 

);

В файле engine/modules/show.full.php найти:

if( $config['related_news'] ) {

выше добавить:

if( $config['backnext_allow'] == "1" ) { 

if( $config['allow_cache'] != "yes" ) { 

$config['allow_cache'] = "yes"; 

$revert_cache = true; 

} else 

$revert_cache = false; 

$back_link = dle_cache( "backlink", $row['id'] ); 

$next_link = dle_cache( "nextlink", $row['id'] ); 

if( $back_link === FALSE ) { 

// Back Link 

              $backlink = $db->super_query( "SELECT id, date, title, category, alt_name, flag FROM " . PREFIX . "_post WHERE date < FROM_UNIXTIME({$row['date']}) AND 


category = '{$row['category']}' AND approve = '1' ORDER BY date DESC LIMIT 0,1" ); 

if( $backlink ) { 

$backlink['date'] = strtotime( $backlink['date'] ); 

$backlink['category'] = intval( $backlink['category'] ); 

if( strlen( $backlink['title'] ) > 75 ) $backlink['title'] = substr( $backlink['title'], 0, 75 ) . " ..."; 

if( $config['allow_alt_url'] == "yes" ) { 

if( $backlink['flag'] and $config['seo_type'] ) { 

if( $backlink['category'] and $config['seo_type'] == 2 ) { 

$back_link = $config['http_home_url'] . get_url( $backlink['category'] ) . "/" . $backlink['id'] . "-" . $backlink['alt_name'] . ".html"; 

} else { 

$back_link = $config['http_home_url'] . $backlink['id'] . "-" . $backlink['alt_name'] . ".html"; 

} 

} else { 

$back_link = $config['http_home_url'] . date( 'Y/m/d/', $backlink['date'] ) . $backlink['alt_name'] . ".html"; 

} 

} else { 

$back_link = $config['http_home_url'] . "index.php?newsid=" . $backlink['id']; 

} 

} else { 

$back_link = ""; 

} 

if( $back_link ) { 

$back_link = "<a href=\"" . $back_link . "\">" . stripslashes( $backlink['title'] ) . "</a>"; 

} 

$db->free(); 

create_cache( "backlink", $back_link, $row['id'] ); 

} 

if( $next_link === FALSE ) { 

// Next Link 

$nextlink = $db->super_query( "SELECT id, date, title, category, alt_name, flag FROM " . PREFIX . "_post WHERE date > FROM_UNIXTIME({$row['date']}) AND category 


= '{$row['category']}' AND approve = '1' ORDER BY date ASC LIMIT 0,1" ); 

if ( $nextlink ) { 

$nextlink['date'] = strtotime( $nextlink['date'] ); 

$nextlink['category'] = intval( $nextlink['category'] ); 

if( strlen( $nextlink['title'] ) > 75 ) $nextlink['title'] = substr( $nextlink['title'], 0, 75 ) . " ..."; 

if( $config['allow_alt_url'] == "yes" ) { 

if( $nextlink['flag'] and $config['seo_type'] ) { 

if( $nextlink['category'] and $config['seo_type'] == 2 ) { 

$next_link = $config['http_home_url'] . get_url( $nextlink['category'] ) . "/" . $nextlink['id'] . "-" . $nextlink['alt_name'] . ".html"; 

} else { 

$next_link = $config['http_home_url'] . $nextlink['id'] . "-" . $nextlink['alt_name'] . ".html"; 

} 

} else { 

$next_link = $config['http_home_url'] . date( 'Y/m/d/', $nextlink['date'] ) . $nextlink['alt_name'] . ".html"; 

} 

} else { 

$next_link = $config['http_home_url'] . "index.php?newsid=" . $nextlink['id']; 

} 

} else { 

$next_link = ""; 

} 

if( $next_link ) { 

$next_link = "<a href=\"" . $next_link . "\">" . stripslashes( $nextlink['title'] ) . "</a>"; 

} 

$db->free(); 

create_cache( "nextlink", $next_link, $row['id'] ); 

}

if( $revert_cache ) $config['allow_cache'] = "no"; 

} else $back_link = $next_link = '';

// Back and Next Link Template 

$tpl->set( '{back-link}', $back_link ); 

$tpl->set( '{next-link}', $next_link );

В файле language/Russian/adminpanel.lng найти:

'wysiwyg_language' => "ru",

ниже добавить:

// Ссылки в полной новости на предыдущую и следующую новость

opt_sys_full => "Показывать предыдущую и следующую новости?",

opt_sys_full_bn => "Если 'Да', то в полной новости будет показыватся ссылка на предыдущую и следующую новости, если 'Нет', то ссылки показыватся не будут",

В шаблоне fullstory.tpl там, где необходимо отображать ссылки, добавить:

{back-link} - ссылка на предыдущую новость

{next-link} - ссылка на следующую новость

В админке в разделе: "Настройки системы" > "Новости" не забудьте указать:

"Показывать предыдущую и следующую новости?" - "Да"

Удачи!

Вот на все сто процентов знал, что мир не без добрых людей!!! Громадная вам благодарность!!! :)

Ссылка на сообщение
Поделиться на других сайтах

Вот на все сто процентов знал, что мир не без добрых людей!!! Громадная вам благодарность!!!

Если люди не научатся помогать друг другу, то род человеческий исчезнет с лица земли.

Вальтер Скотт

Ссылка на сообщение
Поделиться на других сайтах
  • 1 год спустя...

Всем привет, на 9.7 похоже это не работает. Существуют ли готовые моды данной функции? типа -

engine/modules/mymod.php

поделитесь ссылкой пожалст.

или может движок в базовой комплектации уже это умеет?

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...