Jump to content
  • 0

Header в таблице...


big303
 Share

Question

Достался мне сайт delovie.ru с шаблоном, в котором header-картинка находится в таблице и меняется случайным образом:

<td colspan="2" width="758" height="237" background="<?php echo $mosConfig_live_site;?>/templates/jm_portal/random/<?php echo rand(1,5) ?>.jpg" valign="top">

А мне нужно что бы на каждую страницу сайта была своя четко определенная картинка. Пытаюсь прикрутить модуль Header Image. Поскольку позиция header изначально не определена испульзую <?php mosLoadModules ( 'header' ); ?> что собстно и должно выводить этот модуль в нужноммне месте (шапке).

<tr><?php $rand = rand(0,24)?>

<td colspan="2" width="758" height="237" background="<?php echo $mosConfig_live_site;?>/templates/jm_portal/random/<?php echo rand(1,5) ?>.jpg" valign="top">

<table border="0" cellpadding="0" cellspacing="0" width="758">

<tr>

<td height="148" width="758" colspan="2"> </td>

</tr>

<tr>

<td width="329"> </td>

<td width="429" valign="bottom">

<table border="0" cellpadding="0" cellspacing="0" width="100%" height="52">

<tr>

<td class="site_name">Перспектива</td>

</tr>

</table>

</td>

</tr>

<tr>

<td width="329"> </td>

<td width="429" class="site_desc">Московский Центр Труда и Занятости Молодежи</td>

</tr>

<tr>

<td width="758" colspan="2"> </td>

</tr>

</table>

</td>

</tr>

но вот вместо чего нужно поставить этот <?php mosLoadModules ( 'header' ); ?> что бы сатй не расползался на всю ширину экрана я так и не понял.

Кто что подскажет?

Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0

ссори

хм... модуль определяет id страницы и выводит картинку ему соответствующую.

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

(если интерестно, сам модуль http://delovie.ru/hi.zip)

Link to comment
Share on other sites

  • 0

гораздо проще сделать так:

<td colspan="2" width="758" height="237" background="<?php echo $mosConfig_live_site;?>/templates/jm_portal/random/<?php echo rand(1,5) ?>.jpg" valign="top">

заменяем на

<td colspan="2" width="758" height="237" background="<?php echo $mosConfig_live_site;?>/templates/jm_portal/random/<?php echo($img_name); ?>.jpg" valign="top">

а выше этой строки втыкаем код для определения текущей страницы. тип такого, зависит от собственно принципа наименования страниц. если есть внутренняя переменная например $pagename, от которой все определяется - используем ее. если подобного нет, берем $_SERVER['REQEST_URI'] и выбираем оттуда

<?php
$logos = array( // задаем соответствие страниц и картинок
'page1' => 'logo_page1',
'page_news' => 'news_logo',
...
);
$curr_page = ...; // определяем текущую страницу
$img_name = $logos[$curr_page];
?>

топик в php очевидно...

Link to comment
Share on other sites

  • 0

допустим есть главная страница http://delovie.ru/index.php?option=com_frontpage&Itemid=2 при использовании $_SERVER['REQUEST_URI'] выдаст нам index.php?option=com_frontpage&Itemid=2 ....

то есть делаем так?

<?php
$logos = array
'/index.php?option=com_frontpage&Itemid=2' => '/images/logo1.jpg',
'/index.php?option=com_content&task=view&id=14&Itemid=32' => '/images/logo2.jpg',

$curr_page = $_SERVER['REQUEST_URI'];
$img_name = $logos[$curr_page];
?>

<td colspan="2" width="758" height="237" background="<?php echo $mosConfig_live_site;?>/templates/jm_portal/random/<?php echo($img_name); ?>.jpg" valign="top">

Link to comment
Share on other sites

  • 0
допустим есть главная страница http://delovie.ru/index.php?option=com_ ? p;Itemid=2 при использовании $_SERVER['REQUEST_URI'] выдаст нам index.php?option=com_frontpage&Itemid=2 ....

то есть делаем так?

не совсем. раз все идет только в index.php, не завися от других файлов, вместо REQUEST_URI можно использовать QUERY_STRING

дальше, если подставлять /images/logo1.jpg, ссылка на картинку получится background="<?php echo $mosConfig_live_site;?>/templates/jm_portal/random//images/logo1.jpg.jpg" -- всматриваемся внимательнее, прежде чм что-то писать:+)

поэтому для примера будет так:

<?php
$logos = array
'option=com_frontpage&Itemid=2' => 'logo1',
'option=com_content&task=view&id=14&Itemid=32' => 'logo2',

$curr_page = $_SERVER['QUERY_STRING'];
$img_name = $logos[$curr_page];
?>

<td colspan="2" width="758" height="237" background="<?php echo $mosConfig_live_site;?>/images/<?php echo($img_name); ?>.jpg" valign="top">

смотрим.. ведь не заполнять массив для каждого варианта урл. добавляем разбивку на составляющие:

$curr_page = $_SERVER['QUERY_STRING']; заменится

parse_str($_SERVER['QUERY_STRING'],$curr_page);
// здесь для запроса option=com_content&task=view&id=14&Itemid=32
// в переменной $curr_page теперь будет массив:
//Array (
// [option] => com_content
// [task] => view
// [id] => 14
// [Itemid] => 32
//)

ну и решаем от чего должен зависеть логотип. если от значения option - пишем массив конфига так:

$logos = array(
'com_frontpage' => 'logo1',
'com_content' => 'logo2',
);
// а $img_name = $logos[$curr_page] заменится на
$img_name = $logos[$curr_page['option']];

Link to comment
Share on other sites

  • 0

так... смысл стал ясен.

но при добавлении

<?php
$logos = array
'option=com_frontpage&Itemid=2' => 'logo1',
'option=com_content&task=view&id=14&Itemid=32' => 'logo2',

$curr_page = $_SERVER['QUERY_STRING'];
$img_name = $logos[$curr_page];
?>

в индекс.пхп, весь сайт выводится вот с таким кодом

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=windows-1251"></HEAD>
<BODY></BODY></HTML>

то есть пусто везде..... не думал что мое знакомство с пхп начнеться таким образом :rolleyes:

Link to comment
Share on other sites

  • 0

намного проще было бы видеть весь код скрипта - я ж не знаю какие там имена переменных уже использованы, поэтому очень возможно что $logos или что-то еще переписывает нужные данные.

а по поводу

при добавлении

еще раз прочитай предыдущий пост после слов "смотрим.. ведь не заполнять массив для каждого варианта урл. добавляем разбивку на составляющие". там вроде бы присутствуют такие слова как "заменяем". а в приведенном куске ничего не заменено:+)

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

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy