Новая идея помогите ГУРУ ДЛЕ с реализацией.

Автор Тема: Новая идея помогите ГУРУ ДЛЕ с реализацией.  (Прочитано 4031 раз)

Оффлайн С@шаАвтор темы

  • Бизнес оценка: (0)
  • Дебютант
  • *
  • СПАСИБО: 0
  • Сообщений: 4
  • Карма: 1
    • Просмотр профиля

Оффлайн С@шаАвтор темы

  • Дебютант
  • *
Здравствуйте уважаемые форумчане!
Выбился из сил, потерял надежду на реализацию своей задумки. А задумка у меня стоющая (на мой взгляд).
Дело в том что я задумал реализовать очень любопытную идею.
Разобраться раз и навсегда с войной роботов поисковиков и пользовательским взглядом на сайт.

Идея такова: Задумал практически новое поколение  варезников.
Не для кого не секрет как продвигается обычный варезник.

То есть 1) наполнение контентом (не уником) закрываются от индексации, 2)выборочно берутся в разных категориях новости, и уникалезируются. 3)продвижение статьями на уник. ну и наращивание ссылочной базы конечно.

Но как же быть если 1) сайт молодой 2)нет много кантента 3)журналисты если и есть то добавляют копипаст.

Я нашёл решение но есть большое "НО"

И так, я задумал сделать  два разных шаблона fulstory.tpl .

В первом: Закрыть всё от индексации
Для того что бы любимые всеми журналисты могли сколько влезит добавлять копии новостей. Хоть по всему internet.

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

Ну а теперь вопрос: Как сделать использование двух разных шаблонов fulstory.tpl так чтобы каждый из них был одновременно использован в одной и той же категории но в разных новостях? То есть допустим например включить выбор шаблона вывода новостей для разных категорий пользователей.

 Возможно ли это? и как можно реализовать?
dddddd


Оффлайн wildgoodwin

  • Бизнес оценка: (0)
  • Ветеран
  • *****
  • СПАСИБО: 129
  • Сообщений: 520
  • Карма: 11
  • Пол: Мужской
  • Юрий Владимирович
    • Просмотр профиля

Оффлайн wildgoodwin

  • Ветеран
  • *****
  • Доп. информация
    • Бизнес оценка: (0)
    • СПАСИБО: 129
    • Сообщений: 520
    • Карма: 11
    • Пол: Мужской
    • Юрий Владимирович
      • Просмотр профиля
Придется писать хак полюбому, хотя такое уже было, найду скину


Добавлено: 25-02-2011, 22:32:02

http://skripters.com/dle_haki/6464-vybor-otdelnogo-shablona-dlja-novostejj.html   вот нашел ету тему!
« Последнее редактирование: 25-02-2011, 22:32:02 от wildgoodwin »
Продам место под солнцем! Недорого!

Оффлайн С@шаАвтор темы

  • Бизнес оценка: (0)
  • Дебютант
  • *
  • СПАСИБО: 0
  • Сообщений: 4
  • Карма: 1
    • Просмотр профиля

Оффлайн С@шаАвтор темы

  • Дебютант
  • *
Придется писать хак полюбому, хотя такое уже было, найду скину


Добавлено: 25-02-2011, 22:32:02

http://skripters.com/dle_haki/6464-vybor-otdelnogo-shablona-dlja-novostejj.html   вот нашел ету тему!


Очень жду СПС


Добавлено: 25-02-2011, 23:05:27

Цитировать
Установка данного хака:
1. Выполняем запросы к базе данных:
ALTER TABLE `dle_post` ADD `show_tpl` VARCHAR( 40 ) NOT NULL DEFAULT '';
ALTER TABLE `dle_post` ADD `full_tpl` VARCHAR( 40 ) NOT NULL DEFAULT '';

2. Создаем папку templates/Ваш шаблон/show и загружаем в нее tpl шаблоны которые Вы будите использовать в новостях.
3. Открываем engine/inc/addnews.php
Находим:
if( ! $user_group[$member_id['user_group']]['admin_addnews'] ) {
    msg( "error", $lang['index_denied'], $lang['index_denied'] );
}
Ниже вставляем:
if( $handle = opendir( ROOT_DIR . '/templates/' . $config['skin'] . '/show' ) )
{
    while( false !== ( $file = readdir( $handle ) ) )
    {
        $file = substr( $file, 0, -4 );
       
        if ( file_exists( ROOT_DIR . '/templates/' . $config['skin'] . '/show/' . $file . '.tpl' ) )
            $template[] = $file;
    }

    closedir( $handle );
   
    sort( $template );
}
Находим:
    else $fix_br = "";
Ниже встваляем:
    $templ = '<option value="">---</option>';
       
    foreach ( $template as $value ) $templ .= '<option value="' . $value . '">' . $value . '.tpl</option>';
Находим:
        <tr>
            <td>&nbsp;</td>
            <td>{$lang['add_metatags']}<a href="#" class="hintanchor" onmouseover="showhint('{$lang['hint_metas']}', this, event, '220px')">[?]</a></td>
        </tr>
Ниже вставляем:
        <tr>
            <td height="29" style="padding-left:5px;">Шаблон для краткой новости:</td>
            <td><select name="short_tpl" id="short_tpl" style="width:388px;" class="edit">$templ</select></td>
        </tr>
        <tr>
            <td height="29" style="padding-left:5px;">Шаблон для полной новости:</td>
            <td><select name="full_tpl" id="full_tpl" style="width:388px;" class="edit">$templ</select></td>
        </tr>
Находим:
    $title = $db->safesql( $title );
Ниже вставляем:
    $short_tpl = $db->safesql( trim( totranslit( $_POST['short_tpl'] ) ) );
    $full_tpl = $db->safesql( trim( totranslit( $_POST['full_tpl'] ) ) );
       
    if ( $short_tpl != '' AND ! in_array( $short_tpl, $template ) ) $stop .= '<li>Шаблон краткой новости выбран не верно!</li>';
    if ( $full_tpl != '' AND ! in_array( $full_tpl, $template ) ) $stop .= '<li>Шаблон полной новости новости выбран не верно!</li>';
Находим:
    $db->query( "REPLACE INTO " . PREFIX . "_post (date, autor, short_story, full_story, xfields, title, descr, keywords, category, alt_name, allow_comm, approve, allow_main, fixed, allow_rate, allow_br, votes, access, symbol, flag, tags, metatitle) values ('$thistime', '{$member_id['name']}', '$short_story', '$full_story', '$filecontents', '$title', '{$metatags['description']}', '{$metatags['keywords']}', '$category_list', '$alt_name', '$allow_comm', '$approve', '$allow_main', '$news_fixed', '$allow_rating', '$allow_br', '$add_vote', '$group_regel', '$catalog_url', '1', '{$_POST['tags']}', '{$metatags['title']}')" );
Заменяем на:
    $db->query( "REPLACE INTO " . PREFIX . "_post (date, autor, short_story, full_story, xfields, title, descr, keywords, category, alt_name, allow_comm, approve, allow_main, fixed, allow_rate, allow_br, votes, access, symbol, flag, tags, metatitle, short_tpl, full_tpl) values ('$thistime', '{$member_id['name']}', '$short_story', '$full_story', '$filecontents', '$title', '{$metatags['description']}', '{$metatags['keywords']}', '$category_list', '$alt_name', '$allow_comm', '$approve', '$allow_main', '$news_fixed', '$allow_rating', '$allow_br', '$add_vote', '$group_regel', '$catalog_url', '1', '{$_POST['tags']}', '{$metatags['title']}', '$short_tpl', '$full_tpl')" );
4. Открываем engine/inc/editnews.php
Находим:
if ( ! $user_group[$member_id['user_group']]['admin_editnews'] ) {
    msg( "error", $lang['addnews_denied'], $lang['edit_denied'] );
}
Ниже вствляем:

if( $handle = opendir( ROOT_DIR . '/templates/' . $config['skin'] . '/show' ) )
{
    while( false !== ( $file = readdir( $handle ) ) )
    {
        $file = substr( $file, 0, -4 );
       
        if ( file_exists( ROOT_DIR . '/templates/' . $config['skin'] . '/show/' . $file . '.tpl' ) )
            $template[] = $file;
    }

    closedir( $handle );
   
    sort( $template );
}
Находим:
    else $fix_br = "";
Ниже вствляем:
    $short_tpl = '<option value="">---</option>';
       
    foreach ( $template as $value )
    {
        $short_tpl .= '<option value="' . $value . '"';
       
        if ( $value == $row['short_tpl'] ) $short_tpl .= 'selected="selected"';
       
        $short_tpl .= '>' . $value . '.tpl</option>';
    }
   
    $full_tpl = '<option value="">---</option>';
       
    foreach ( $template as $value )
    {
        $full_tpl .= '<option value="' . $value . '"';
       
        if ( $value == $row['full_tpl'] ) $full_tpl .= 'selected="selected"';
       
        $full_tpl .= '>' . $value . '.tpl</option>';
    }
Находим:
        <tr>
            <td>&nbsp;</td>
            <td>{$lang['add_metatags']}<a href="#" class="hintanchor" onmouseover="showhint('{$lang['hint_metas']}', this, event, '220px')">[?]</a></td>
        </tr>
Ниже вставляем:
        <tr>
            <td height="29" style="padding-left:5px;">Шаблон для краткой новости:</td>
            <td><select name="short_tpl" id="short_tpl" style="width:388px;" class="edit">$short_tpl</select></td>
        </tr>
        <tr>
            <td height="29" style="padding-left:5px;">Шаблон для полной новости:</td>
            <td><select name="full_tpl" id="full_tpl" style="width:388px;" class="edit">$full_tpl</select></td>
        </tr>
Находим:
    $title = $db->safesql( $title );
Ниже вставляем:
    $short_tpl = $db->safesql( trim( totranslit( $_POST['short_tpl'] ) ) );
    $full_tpl = $db->safesql( trim( totranslit( $_POST['full_tpl'] ) ) );
       
    if ( $short_tpl != '' AND ! in_array( $short_tpl, $template ) ) $stop .= '<li>Шаблон краткой новости выбран не верно!</li>';
    if ( $full_tpl != '' AND ! in_array( $full_tpl, $template ) ) $stop .= '<li>Шаблон полной новости новости выбран не верно!</li>';   
Находим запросы к базе содержащие:
set title='$title',
Заменяем этот участок на
set title='$title', short_tpl='$short_tpl', full_tpl='$full_tpl',
5. Открываем engine/modules/addnews.php
Находим:
} else {
Ниже вствляем:
    if( $handle = opendir( ROOT_DIR . '/templates/' . $config['skin'] . '/show' ) )
    {
        while( false !== ( $file = readdir( $handle ) ) )
        {
            $file = substr( $file, 0, -4 );
       
            if ( file_exists( ROOT_DIR . '/templates/' . $config['skin'] . '/show/' . $file . '.tpl' ) )
                $template[] = $file;
        }

        closedir( $handle );
   
        sort( $template );
    }
Находим:
        $alt_name = trim( $parse->process( stripslashes( $_POST['alt_name'] ) ) );
Ниже вствляем:
        $short_tpl = $db->safesql( trim( totranslit( $_POST['short_tpl'] ) ) );
        $full_tpl = $db->safesql( trim( totranslit( $_POST['full_tpl'] ) ) );
       
        if ( $short_tpl != '' AND ! in_array( $short_tpl, $template ) ) $stop .= '<li>Шаблон краткой новости выбран не верно!</li>';
        if ( $full_tpl != '' AND ! in_array( $full_tpl, $template ) ) $stop .= '<li>Шаблон полной новости новости выбран не верно!</li>';
Находим запросы к базе содержащие:
set title='$title',
Заменяем этот участок на
set title='$title', short_tpl='$short_tpl', full_tpl='$full_tpl',
Находим:
$db->query( "REPLACE INTO " . PREFIX . "_post (date, autor, short_story, full_story, xfields, title, keywords, category, alt_name, allow_comm, approve, allow_main, fixed, allow_rate, allow_br, flag, tags) values ('$thistime', '$member_id[name]', '$short_story', '$full_story', '$filecontents', '$title', '', '$category_list', '$alt_name', '$allow_comm', '$approve', '$allow_main', '$news_fixed', '$allow_rating', '$allow_br', '1', '" . $_POST['tags'] . "')" );
Заменяем на:
$db->query( "REPLACE INTO " . PREFIX . "_post (date, autor, short_story, full_story, xfields, title, keywords, category, alt_name, allow_comm, approve, allow_main, fixed, allow_rate, allow_br, flag, tags, short_tpl, full_tpl) values ('$thistime', '$member_id[name]', '$short_story', '$full_story', '$filecontents', '$title', '', '$category_list', '$alt_name', '$allow_comm', '$approve', '$allow_main', '$news_fixed', '$allow_rating', '$allow_br', '1', '" . $_POST['tags'] . "', '$short_tpl', '$full_tpl')" );
Находим:
$tpl->set( '{category}', $cats );
Ниже вствляем:
        $templ = '<option value="">---</option>';
       
        foreach ( $template as $value ) $templ .= '<option value="' . $value . '">' . $value . '.tpl</option>';
       
        $tpl->set( '{short-tpl}', '<select name="short_tpl" id="short_tpl">' . $templ . '</select>' );
        $tpl->set( '{full-tpl}', '<select name="full_tpl" id="full_tpl">' . $templ . '</select>' );
В шаблон, добавления новостей addnews.tpl добавляем теги {short-tpl} - для выбора шаблона для краткой новости и {full-tpl} для выбора шаблона полной новости.
6. Открываем engine/engine.php
Находим все запросы содержащие:
SELECT id, autor,
Заменяем этот участок на:
SELECT id, autor, short_tpl, full_tpl,
P.S> Если не хотите мучится с запросами, то можно сделать по другому (Но лучше сделайте замену вручную):
Открываем engine/modules/show.short.php
Находим:
$sql_result = $db->query( $sql_select );
Выше вствляем:
$sql_select = str_replace( 'autor,', 'autor, short_tpl, full_tpl,', $sql_select );
Открываем engine/modules/show.full.php
Находим:
$sql_result = $db->query( $sql_news );
Выше вствляем:
$sql_news = str_replace( 'autor,', 'autor, short_tpl, full_tpl,', $sql_news );
7. Открываем engine/modules/show.full.php
Находим:
        if( isset( $view_template ) and $view_template == "print" ) $tpl->load_template( 'print.tpl' );
        elseif( $category_id and $cat_info[$category_id]['full_tpl'] != '' ) $tpl->load_template( $cat_info[$category_id]['full_tpl'] . '.tpl' );
        else $tpl->load_template( 'fullstory.tpl' );
Заменяем на:
        if( isset( $view_template ) and $view_template == "print" ) $tpl->load_template( 'print.tpl' );
        elseif ( $row['full_tpl'] != '' ) $tpl->load_template( 'show/' . $row['full_tpl'] . '.tpl' );
        elseif( $category_id and $cat_info[$category_id]['full_tpl'] != '' ) $tpl->load_template( $cat_info[$category_id]['full_tpl'] . '.tpl' );
        else $tpl->load_template( 'fullstory.tpl' );
8. Открываем engine/modules/show.short.php
Находим:
    if( isset( $view_template ) and $view_template == "rss" ) {
    } elseif( $category_id and $cat_info[$category_id]['short_tpl'] != '' ) $tpl->load_template( $cat_info[$category_id]['short_tpl'] . '.tpl' );
    else $tpl->load_template( 'shortstory.tpl' );
Заменяем на:
    if( isset( $view_template ) and $view_template == "rss" ) {}
    else
    {
        $template = get_vars( 'template' );

        if ( ! $template )
        {
            $template = array( );
            $template[0] = '';
           
            if( $handle = opendir( $tpl->dir . DIRECTORY_SEPARATOR . 'show' ) )
            {
                while( false !== ( $file = readdir( $handle ) ) )
                {
                    $file = substr( $file, 0, -4 );
                   
                    if ( file_exists( $tpl->dir . DIRECTORY_SEPARATOR . 'show' . DIRECTORY_SEPARATOR . $file . '.tpl' ) )
                        $template[$file] = file_get_contents( $tpl->dir . DIRECTORY_SEPARATOR . 'show' . DIRECTORY_SEPARATOR . $file . '.tpl' );
                }
           
                closedir( $handle );
            }

            set_vars( 'template', $template );
        }
       
        if ( $category_id AND $cat_info[$category_id]['short_tpl'] != '' AND file_exists( $tpl->dir . DIRECTORY_SEPARATOR . $cat_info[$category_id]['short_tpl'] . '.tpl' ) ) $template[0] = file_get_contents( $tpl->dir . DIRECTORY_SEPARATOR . $cat_info[$category_id]['short_tpl'] . '.tpl' );
        elseif ( file_exists( $tpl->dir . DIRECTORY_SEPARATOR . 'shortstory.tpl' ) ) $template[0] = file_get_contents( $tpl->dir . DIRECTORY_SEPARATOR . 'shortstory.tpl' );
        else die( 'Невозможно загрузить шаблон' );
    }
Находим:
    while ( $row = $db->get_row( $sql_result ) ) {
Ниже вствляем:
        if ( $row['short_tpl'] != '' AND $template[$row['short_tpl']] ) $tpl->copy_template = $template[$row['short_tpl']];
        else $tpl->copy_template = $template[0];
9. Вот и все! Теперь при публикации новостей Вы можете выбирать шаблон для нее, в админ панели списки с шаблонами находятся во вкладки "Дополнительно".
Внимание!
Первая загрузка главной страницы, может потребовать некоторое время, так как будет производится кэшеирование шаблонов.
После добавления новых шаблонов в папку show, необходимо очистить кэш сайта.
Чем больше шаблонов в папку show, тем сильнее нагрузка на сервер (Поэтому не загружайте в эту папку не используемые шаблоны).
Если не хотите использовать выбор шаблона при добавлении новостей с сайте не выполняйте 5 пункт.

Спс еще раз, но извините за нубство но как сделать пункт №1 который я выделил?


Добавлено: 25-02-2011, 23:30:26

Вопрос снят :)

Вот скрин где это делается:
newbielink:http://radikal.ru/F/i048.radikal.ru/1102/7f/143d2a0aefeb.jpg.html [nonactive]
« Последнее редактирование: 25-02-2011, 23:30:27 от С@ша »
dddddd

Оффлайн wildgoodwin

  • Бизнес оценка: (0)
  • Ветеран
  • *****
  • СПАСИБО: 129
  • Сообщений: 520
  • Карма: 11
  • Пол: Мужской
  • Юрий Владимирович
    • Просмотр профиля

Оффлайн wildgoodwin

  • Ветеран
  • *****
  • Доп. информация
    • Бизнес оценка: (0)
    • СПАСИБО: 129
    • Сообщений: 520
    • Карма: 11
    • Пол: Мужской
    • Юрий Владимирович
      • Просмотр профиля
Сделай бэкап для начала, а то еще что нидь навернешь)

Открываешь свою базу в phpMyAdmin с панели хостинга.
Выбираешь свою базу в списке.
Нажимаешь на иконку SQL в одном из двух мест.
В появившемся окне пиши текст запроса и жми кнопку Пошел.
Все.
Продам место под солнцем! Недорого!

Оффлайн С@шаАвтор темы

  • Бизнес оценка: (0)
  • Дебютант
  • *
  • СПАСИБО: 0
  • Сообщений: 4
  • Карма: 1
    • Просмотр профиля

Оффлайн С@шаАвтор темы

  • Дебютант
  • *
Вчера очень долго мучился с выше написанным. Не чего не вышло. Движок 9,0 не пережовывает данные манипуляции. У кого получилось отпишитесь плизз.
dddddd


Оффлайн wildgoodwin

  • Бизнес оценка: (0)
  • Ветеран
  • *****
  • СПАСИБО: 129
  • Сообщений: 520
  • Карма: 11
  • Пол: Мужской
  • Юрий Владимирович
    • Просмотр профиля

Оффлайн wildgoodwin

  • Ветеран
  • *****
  • Доп. информация
    • Бизнес оценка: (0)
    • СПАСИБО: 129
    • Сообщений: 520
    • Карма: 11
    • Пол: Мужской
    • Юрий Владимирович
      • Просмотр профиля
Ну ет тебе нужно хак заказывать, так то ты не сделаешь больше никак. Обратись к атвору етого хака, мож он те че нидь сделает.
Продам место под солнцем! Недорого!

Оффлайн firecrystal

  • Бизнес оценка: (0)
  • Пользователь
  • **
  • СПАСИБО: 6
  • Сообщений: 55
  • Карма: 2
    • Просмотр профиля

Оффлайн firecrystal

  • Пользователь
  • **
Можешь создать все разделы по 2 раза, 1 закрыть от индексации с помощью robots.txt а 2 оставить, ну а там уже журналистам говорить куда что добавлять, и иногда возможно придеться удалять весь шлак:) Хотя бредово немного получается)

Оффлайн cyclop

  • Бизнес оценка: (2, 100%)
  • Ветеран
  • *****
  • СПАСИБО: 234
  • Сообщений: 697
  • Карма: 50
  • Пол: Мужской
  • Возвращаюсь
    • Просмотр профиля

Оффлайн cyclop

  • Ветеран
  • *****
С@ша, зачем изобретать велосипед, как подал идею firecrystal просто создайте 2 раздела, 1 будет только администрации доступен для наполнения, а второй для жураналистов и т.п., закрытый в robot.txt, а лучше в .htaccess.
А вообще ничего особо оригинального в этой идеи нет, варезники - это тупиковая идея.

Оффлайн Amsordian

  • Бизнес оценка: (0)
  • Рекрут
  • *
  • СПАСИБО: 0
  • Сообщений: 12
  • Карма: 1
    • Просмотр профиля

Оффлайн Amsordian

  • Рекрут
  • *
Мда, зачем такой бред..
Тупо создать две категории с разными новостями.
И одну закрыть в роботсе..


Оффлайн Avadon

  • Бизнес оценка: (0)
  • Ветеран
  • *****
  • СПАСИБО: 455
  • Сообщений: 1320
  • Карма: 40
  • Пол: Мужской
  • Награды Мастер вывода в Яндекс ТОП 1 За благотворительность Самая быстрая регистрация (индексация) сайта в Яндекс
    • Просмотр профиля

Оффлайн Avadon

  • Ветеран
  • *****
что то это всё попахивает клоакингом.
за это вы просто получите бан от поисковиков рано или поздно.


 

Похожие темы

  Тема / Автор Ответов Последний ответ
1 Ответов
1177 Просмотров
Последний ответ 05-02-2013, 14:53:06
от bigger
4 Ответов
1291 Просмотров
Последний ответ 06-02-2013, 14:32:35
от staskenig
18 Ответов
4669 Просмотров
Последний ответ 15-07-2013, 10:05:47
от Ametist
0 Ответов
411 Просмотров
Последний ответ 24-11-2014, 21:47:20
от mkvih
8 Ответов
1587 Просмотров
Последний ответ 24-04-2015, 10:03:12
от Urfinjus