Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

rss

Вы не зашли.

Объявление

  • Список
  •  » PHP/HTML/JS/CSS
  •  » Как вставить конкретный блок на конкретную страницу?

#1 2012-01-14 13:47:54

legenda
Пользователь
Откуда: ua
Зарегистрирован: 2009-12-22
Сообщений: 2133
Рейтинг :   39 
Профиль

Как вставить конкретный блок на конкретную страницу?

Собственно вопрос. Как вставить чтото на конкретную страницу?

Например надо вставить слово "реклама блаблабла" на страничке http://мойсайт/новости/блаблабла.html

Отредактированно legenda (2012-01-14 13:48:19)

Неактивен

 

#2 2012-01-14 16:22:22

vitaly
Администратор
Откуда: Россия
Зарегистрирован: 2008-10-08
Сообщений: 2785
Рейтинг :   115 
Профиль

Re: Как вставить конкретный блок на конкретную страницу?

Используй плагин ads_pro, он позволяет ставить код на страницы конкретных новостей.

Неактивен

 

#3 2012-01-15 08:34:33

legenda
Пользователь
Откуда: ua
Зарегистрирован: 2009-12-22
Сообщений: 2133
Рейтинг :   39 
Профиль

Re: Как вставить конкретный блок на конкретную страницу?

vitaly, НЕТО, он позволяет вставлять чтото  в конкретную групу, или категорий или плагинов и т.д., а мне надо на конкретный урл, чтобы только там и больше негде.

Может кто подскажет каким-то пхп кодом? с указанием что вставлять и урл куда вставлять?

Отредактированно legenda (2012-01-15 08:37:52)

Неактивен

 

#4 2012-01-15 12:20:15

infinity237
Модератор
Откуда: Russia, Moscow
Зарегистрирован: 2008-11-09
Сообщений: 2674
Рейтинг :   174 
Профиль  Вебсайт

Re: Как вставить конкретный блок на конкретную страницу?

http://photoload.ru/data/b5/5c/c4/b55cc4909f7ec8bad76c3d186a22d8b3.png

Неактивен

 

#5 2012-01-15 15:22:47

legenda
Пользователь
Откуда: ua
Зарегистрирован: 2009-12-22
Сообщений: 2133
Рейтинг :   39 
Профиль

Re: Как вставить конкретный блок на конкретную страницу?

хм.. такого у меня не было, но уже нашел, хотя проблема нерешилась так как на том сайте тисячи новостей и блок добавления банально не откривается (тупо пустой белый фон)

Но это не решает проблему, я неимел ввиду новости, я имею ввиду просто любой урл

например
http://мой сайт/2012.html (урл странички из архива)
http://мой сайт/2012-01-01.html (урл странички из календаря)
http://мой сайт//plugin/tags/tag/?tag=%C0%F0%F1%E5%ED%E0%EB (урл конкретного тега)
http://мой сайт/невс/page/2.html (урл постранички #2 категории невс)

+ для плагинов разных, пита страничка конкретного пользователя и т.д.

Неактивен

 

#6 2012-01-20 11:45:20

t3s
Пользователь
Откуда: планета The мля...
Зарегистрирован: 2009-04-09
Сообщений: 228
Рейтинг :   13 
Профиль  Вебсайт

Re: Как вставить конкретный блок на конкретную страницу?

legenda, пока что для аналагичной задачи использую вот такой костыль ввиде вот такого простейшего плагина:

Код:

<?php
if (!defined('NGCMS')) die ('HAL');
add_act('index', 'mysidebar');

    function mysidebar(){
        global $tvars, $template, $tpl;

    $ref = $_SERVER['REQUEST_URI'];
    $ref = explode("/", $ref);
    $url_id = $ref[2];


if ($url_id == 'тут_урл_на_котором_надо_что-то_вывести' ){// вместо http://мой сайт/2012-01-01.html ставим 2012-01-01.html
$side_show = 'блаблабла, тут пишем инфу для конкретного урла';
//вопрос - почему не использую адс или адс про?
//ответ ver.1 - адс и адс про не работают со страницами плагинов, т.е. вывести инфу на зтранице плагина нельзя
//ответ ver.2 - тут я могу взять не только текстовую инфу, но и вообще все что угодно (RSS, XML, YML, подключиться к другой базе и т.д.), затем сделать с ней все что угодно, а затем вывести то что нужно... 

}else{
$side_show = '';
}


        $tvars['vars'] = array    (
                'my_data'    =>    $side_show
                                );

            $tpl -> template('mysidebar', extras_dir."/mysidebar/tpl");
            $tpl -> vars('mysidebar', $tvars);
            $output .= $tpl -> show('mysidebar');
            $template['vars']['data_mysidebar'] = $output;

}

если подходит, то

1. создаешь папку mysidebar, в которой создаешь файл mysidebar.php и вставляешь данный код
2. в ней создаешь папку tpl, в которой должен быть файлик mysidebar.tpl, содержащий вот такое:

Код:

{my_data}

3. в шаблоне в main.tpl в том месте где хочешь вівести пишешь {data_mysidebar}


если есть решение более элегантное то присоеденяюсь к вопросу Легенды, поскольку с твигом не сложилось (http://ngcms.ru/forum/viewtopic.php?pid=27177#p27177)

Отредактированно t3s (2012-01-20 11:50:54)


Проекты любой сложности. Качественно. Дорого.

Неактивен

 

#7 2012-01-20 12:05:07

Wolverine
Модератор
Откуда: Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3538
Рейтинг :   160 
Профиль  Вебсайт

Re: Как вставить конкретный блок на конкретную страницу?

Подходы могут быть совершенно разными в зависимости от задачи и количества URL. Если их тысячи и везде все разное, то твой способ очевидно не подходит. Если их десять, то ОК. Возможно страницы можно сгруппировать по признаку, возможно нет. Ели костыль устраивает, то почему нет smile

Неактивен

 

#8 2012-01-20 17:09:35

legenda
Пользователь
Откуда: ua
Зарегистрирован: 2009-12-22
Сообщений: 2133
Рейтинг :   39 
Профиль

Re: Как вставить конкретный блок на конкретную страницу?

смотрите, раньше у меня была такая потребность, сделать ссылку на конкретный сайт на конкретном урл, как я делал

сделал в корне файл linkss.php с таким кодом

Код:

<?
    if ($_SERVER['REQUEST_URI']=='/конкретний урл моего сайта' 
    OR $_SERVER['REQUEST_URI']=='/конкретний урл моего сайта2'
    OR $_SERVER['REQUEST_URI']=='/конкретний урл моего сайта3'
    OR $_SERVER['REQUEST_URI']=='/конкретний урл моего сайта4'
    OR $_SERVER['REQUEST_URI']=='/конкретний урл моего сайта5') {
    echo '<a href="http://рекламируемыйсайт/" target="_blank">анкорсайта</a>';    } 
?>

<?
    if ($_SERVER['REQUEST_URI']=='/конкретний урл моего сайта6' 
    OR $_SERVER['REQUEST_URI']=='/конкретний урл моего сайта7'
    OR $_SERVER['REQUEST_URI']=='/конкретний урл моего сайта8'
    OR $_SERVER['REQUEST_URI']=='/конкретний урл моего сайта9'
    OR $_SERVER['REQUEST_URI']=='/конкретний урл моего сайта10') {
    echo '<a href="http://рекламируемыйсайт2/" target="_blank">анкорсайта2</a>';    } 
?>

в маин.тпл вставлял <? include"linkss.php";?> и все, на конкретном урл была конкретная ссылка в том месте где надо.

Этот вариант у меня работает и сейчас, но мне надо счас вставлять не ссылку а блок (гтмл код баннера, код фото, вывод плагина например топ_нюз или лайст коментс) и т.д.

вот мне надо чтото подобное.

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

Отредактированно legenda (2012-01-20 17:14:45)

Неактивен

 

#9 2012-01-20 17:15:55

t3s
Пользователь
Откуда: планета The мля...
Зарегистрирован: 2009-04-09
Сообщений: 228
Рейтинг :   13 
Профиль  Вебсайт

Re: Как вставить конкретный блок на конкретную страницу?

пример для последних комментов, другие блоки по аналогии

Код:

$side_show = '{plugin_lastcomments}';

соответственно плагин ласт коментс должен быть включен

Отредактированно t3s (2012-01-20 17:17:31)


Проекты любой сложности. Качественно. Дорого.

Неактивен

 

#10 2012-01-20 17:18:23

legenda
Пользователь
Откуда: ua
Зарегистрирован: 2009-12-22
Сообщений: 2133
Рейтинг :   39 
Профиль

Re: Как вставить конкретный блок на конкретную страницу?

t3s, а как в твоем варианте
1. пару урл для вывода например ссилки для рекламируемого сайта1
2. вывод на других урл ссылки для рекламируемого сайта2
?

Неактивен

 

#11 2012-01-20 19:46:22

t3s
Пользователь
Откуда: планета The мля...
Зарегистрирован: 2009-04-09
Сообщений: 228
Рейтинг :   13 
Профиль  Вебсайт

Re: Как вставить конкретный блок на конкретную страницу?

точно так же как и в твоем - просто у тебя идет

echo '<a href="http://рекламируемыйсайт2/" target="_blank">анкорсайта2</a>';

а в плагине

Код:

$side_show = '<a href="http://рекламируемыйсайт2/" target="_blank">анкорсайта2</a>';

+ плагин удобнее тем, что ты можешь выводить таких блоков несколько, например в сайдбаре и футере...

но как подметил Wolverine - для большого кол-ва это урлов это не самое удачное решение, лучше искать другое...


Проекты любой сложности. Качественно. Дорого.

Неактивен

 

#12 2012-01-21 17:44:45

legenda
Пользователь
Откуда: ua
Зарегистрирован: 2009-12-22
Сообщений: 2133
Рейтинг :   39 
Профиль

Re: Как вставить конкретный блок на конкретную страницу?

t3s, я чтото не совсем понял как, можеш написать пример 1 и 2 пункта? а то я в пхп полный ноль)

у меня не много может 20-30 блоков, и они не будут очень часто менятся так что руками это нормально

Неактивен

 

#13 2012-01-24 00:10:21

t3s
Пользователь
Откуда: планета The мля...
Зарегистрирован: 2009-04-09
Сообщений: 228
Рейтинг :   13 
Профиль  Вебсайт

Re: Как вставить конкретный блок на конкретную страницу?

конкретно в твоем варианте - все что между

Код:

if ($url_id == 'тут_урл_на_котором_надо_что-то_вывести' ){

и

Код:

}else{
$side_show = '';
}

замени на вот такое:

Код:

if ($url_id == 'конкретний урл моего сайта1' 
    OR $url_id == 'конкретний урл моего сайта2'
    OR $url_id == 'конкретний урл моего сайта3'
    OR $url_id == 'конкретний урл моего сайта4'
    OR $url_id == 'конкретний урл моего сайта5'){
$side_show = '<a href="http://рекламируемыйсайт/" target="_blank">анкорсайта</a>';
}else if ($url_id == 'конкретний урл моего сайта6' 
    OR $url_id == 'конкретний урл моего сайта7'
    OR $url_id == 'конкретний урл моего сайта8'
    OR $url_id == 'конкретний урл моего сайта9
    OR $url_id == 'конкретний урл моего сайта10'){
$side_show = '<a href="http://рекламируемыйсайт2/" target="_blank">анкорсайта2</a>';
}else{
$side_show = '';
}

но это "неправильно", особенно когда урлов много
например если в урлах есть что-то общее - можно использовать это "общее"
допустим, у тебя имеется такие страницы:
хттп://сайт.ком/super-video.html
хттп://сайт.ком/puper-video.html
хттп://сайт.ком/gyper-video.html
в этом случае мы видем общее между ними - video
если после

Код:

$url_id = $ref[2];

добавим

Код:

$url_id = substr("$url_id", 6, 11);

то переменная $url_id как раз и будет содержать это самое video

я для себя именно так и делал, т.е. сравнивал часть урла (инфу нужно было вывести для определенного плагина)

Отредактированно t3s (2012-01-24 00:19:09)


Проекты любой сложности. Качественно. Дорого.

Неактивен

 
  • Список
  •  » PHP/HTML/JS/CSS
  •  » Как вставить конкретный блок на конкретную страницу?

Board footer

Powered by FluxBB

[ Generated in 0.016 seconds, 21 queries executed ]