Редактор темы

Как сделать показ случайной (рандомно) страницы при клике или загрузке определённого url (страницы)?

master-rasskazov

Бывалый
Регистрация
24 Авг 2019
Сообщения
190
Рейтинг реакций
13
Баллы
18
Возраст
39
1/3
Автор темы
Ребят может кто знает как реализовать такую фишку?
Забыл в заголовке добавить движок DLE.На Wordpress знаю как сделать,а на DLE не знаю.

Другими словами при клике на определённый URL чтобы перекидывало на любую страницу сайт,рандомно.
Помогите плиз,буду очень преочень благодарен от души,никак не могу найти ответ на этот вопрос!

Зпасибо конечно,но и готов 100 оплатить на веб мани.
 
Код:
это в main.tpl
{custom template="custom-random" order="rand" from="0" limit="1" cache="yes"}

создаешь файл custom-random.tpl это в нем
<a class="random-link icon-l" href="{full-link}">
    <span class="fa fa-random"></span> Случайный фильм
</a>

это в css
.random-link {background-color:#1d1d27; color:#ccc; display:block; line-height:40px; text-align:center;
border-radius:3px; margin:0 15px;}
.random-link:hover {background-color:#00a0b0; color:#FFF;}
 
Автор темы
Код:
это в main.tpl
{custom template="custom-random" order="rand" from="0" limit="1" cache="yes"}

создаешь файл custom-random.tpl это в нем
<a class="random-link icon-l" href="{full-link}">
    <span class="fa fa-random"></span> Случайный фильм
</a>

это в css
.random-link {background-color:#1d1d27; color:#ccc; display:block; line-height:40px; text-align:center;
border-radius:3px; margin:0 15px;}
.random-link:hover {background-color:#00a0b0; color:#FFF;}
Спасибо большое..но как мне теперь передать такой URL кому-нибудь чтобы он кликнул на неё и попал на случайную страницу?
Я хочу такой URL распространить и мне его нужно как-то скопировать,то есть он должен всегда быть одинаковым например таким http://sait.ru/random.php и когда человек кликает на неё то попадает на случайную страницу на сайте.
 
Автор темы
Разве никто не знает,может есть всё таки решение?
 
Разве никто не знает,может есть всё таки решение?
Да обычно никто не заморачивается, делают как 4va3 написал, через custom-order="rand", вставляя его на страницы сайта. Но решение это не совсем рандомное, тк видно урл фильма еще до клика. Потому да, с site.com/random было бы получше.
 
Автор темы
Да согласен,заказал на kwork может сделает человек выложу сюда решение
 
заказал на kwork может сделает человек выложу сюда решение
А тут не судьба написать ? А на dle-faq создать в стол заказа ?

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

А извиняюсь цена есть. Если конечно её можно таковой назвать.
После установки по адресу /?do=rand_url людей будет перенаправлять на рандомную новость.

P.S. не знаю как будет на разных сайтах по производительности лучше ли rand() в mysql или же вытягивать все и уже после рандомить. Но пока вот так.
PHP:
<?xml version="1.0" encoding="utf-8"?>
<dleplugin>
    <name>Enter rand url news</name>
    <description>Ссылка перейдя по которой пользователя перенаправит в рандомную новость.</description>
    <icon></icon>
    <version></version>
    <dleversion>13</dleversion>
    <versioncompare>greater</versioncompare>
    <upgradeurl></upgradeurl>
    <filedelete>0</filedelete>
    <needplugin></needplugin>
    <mysqlinstall><![CDATA[]]></mysqlinstall>
    <mysqlupgrade><![CDATA[]]></mysqlupgrade>
    <mysqlenable><![CDATA[]]></mysqlenable>
    <mysqldisable><![CDATA[]]></mysqldisable>
    <mysqldelete><![CDATA[]]></mysqldelete>
    <phpinstall><![CDATA[]]></phpinstall>
    <phpupgrade><![CDATA[]]></phpupgrade>
    <phpenable><![CDATA[]]></phpenable>
    <phpdisable><![CDATA[]]></phpdisable>
    <phpdelete><![CDATA[]]></phpdelete>
    <file name="engine/modules/rand_url.php">
        <operation action="create">
            <replacecode><![CDATA[<?php
if( !defined('DATALIFEENGINE') ) {
    header( "HTTP/1.1 403 Forbidden" );
    header ( 'Location: ../../' );
    die( "Hacking attempt!" );
}
$rand_post = $db->super_query( "SELECT id, alt_name, category, date FROM " . PREFIX . "_post WHERE approve = '1' ORDER by rand() LIMIT 1" );
if( $config['allow_alt_url'] ) {
         
    if( $config['seo_type'] == 1 OR $config['seo_type'] == 2  ) {
             
        if( $row['category'] and $config['seo_type'] == 2 ) {
                 
            $full_link = $config['http_home_url'] . get_url( $rand_post['category'] ) . "/" . $rand_post['id'] . "-" . $rand_post['alt_name'] . ".html";
             
        } else $full_link = $config['http_home_url'] . $rand_post['id'] . "-" . $rand_post['alt_name'] . ".html";
         
    } else $full_link = $config['http_home_url'] . date( 'Y/m/d/', $rand_post['date'] ) . $rand_post['alt_name'] . ".html";
} else $full_link = $config['http_home_url'] . "index.php?newsid=" . $rand_post['id'];
header("Location:$full_link");
die();
?>]]></replacecode>
        </operation>
    </file>
    <file name="engine/engine.php">
        <operation action="after">
            <searchcode><![CDATA[switch ( $do ) {]]></searchcode>
            <replacecode><![CDATA[    case "rand_url" :
        include (DLEPlugins::Check(ENGINE_DIR . '/modules/rand_url.php'));
        break;]]></replacecode>
        </operation>
    </file>
</dleplugin>
 
Последнее редактирование:

Похожие темы Последние темы Популярные темы

Назад
Сверху