Версия для печати

bweb

Guest
Подскажите пожалуйста.
А если у меня сайт из одной страницы состоит со свитчем
<?
if ($QUERY_STRING=="about"):
require("info/$pages1");
require("system/menu.php");
endif;
и т.д.
получается, что мне нужно два параметра передать
http://localhost?about и теперь нужно передать ?print - НО как это верно сделать - подскажите пожалуйста.
Спасибо
 

crocodile2u

http://vbolshov.org.ru
&print

Курить протокол HTTP.

И почему бы не использовать вариант

/?page=about&version=print

Или что-то вроде того
 

bweb

Guest
crocodile2u
расстолкуй пожалуйста
<?
if ($QUERY_STRING==""):
require("info/$pages1");
require("system/menu.php");
endif;
if ($QUERY_STRING=="about"):
require("info/$pages2");
require("system/menu.php");
endif;
?>
<a href=<?echo $REQUEST_URI;?>&print>печать</a>
как мне сделать еще парамер print что бы он в необходимый шаблон (без картинок и прочего) вставил нужную мне страницу... Или может проще как-то можно?
Спасибо.
 

Фанат

oncle terrible
Команда форума
для этого тебе придется переделать свой "свич"
или же, сделать еще один скрипт - print.php, который принимает те же параметры, что и индекс, инклюдит в себя индекс, но при этом устеновлена переменная принт
 

untied

Сдвинутый новичок
Вообще в CSS есть волшебные switch-и:

@media screen
@media print

Если нужно, чтобы на странице не печатались какие-либо блоки, можно сделать так (имеется в виду файл с таблицами стилей CSS):

PHP:
@media screen
{
    TABLE.my_cool_block
    {
        display : block;
    }
}

@media print
{
    TABLE.my_cool_block
    {
        display : none;
    }
}
 

bweb

Guest
Фанат
а переменная принт чему будет равна?
untied
Спасибо, но css - меня тут мало устроит!
 

Sluggard

Новичок
а переменная принт чему будет равна?
Скриптом проверяешь ее существование [m]isset[/m], а чему она равна пусть тебя не волнует.
Спасибо, но css - меня тут мало устроит!
css может устроить в любом случае, если тебе не нужна html-версия для печати.
 

andygray

Guest
bweb, сделай так, как сказал crocodile2u
переменные передавать так /?page=about&version=print

внутри твоего скрипта переменная page будет равна "about", version="print"

и работай с ними.
 

bweb

Guest
andygray
все равно не понял
мне нужно делать два свича? или нет?
<?
switch ($page)
{
case about:
print ('about');
break;
default:
print ('0');
break;
}
?>
как теперь принажатии на кнопку ПЕЧАТЬ подставится другой шаблон (без картинок и прочего)..
что-то у меня мозги кипят.. уже запутался окончательно :(
 

andygray

Guest
bweb хех =)

Попробуй рассуждать логически. Сначала проверяешь, какая страница нужна пользователю - about, contact, etc. Это значение хранится в переменной page. Затем смотришь значение переменной version. Если оно == "print", то выдаёшь версию для печати документа page. Иначе обычную версию документа page.

ЗЫ

в твоём примере default должно печатать индексовую страницу ;)
 

bweb

Guest
andygray
Я тучнулся...
Мог бы ты пример кода написать, что бы мне глупому дошло как и почему?
Спасибо большое...
 

andygray

Guest
bweb тогда забей )
Советую потратить пару-тройку день на вспоминание школьного курса информатики. А именно - порисовать блок схемы. ПОТОМУШТО: всё, что ты захочешь написать, будет у тебя в голове, понимаешь? Такими же фразами, как я написал выше (про рассуждение логически). И если ты не сумеешь написать это на своём языке программирования - это смерть.

Short tips:
Проверить нужную страницу из списка - оператор case
Слово _если_ можно заменить оператором if
 

bweb

Guest
andygray
да я это знаю, просто нету у меня пары тройки дней.. на завтра на утро нужно, только это осталось и все....
;(
 

Sluggard

Новичок
Если у тебя перемешан html и php, то проще сделать еще один скрипт - print.php
 

andygray

Guest
Автор оригинала: bweb
andygray
да я это знаю, просто нету у меня пары тройки дней.. на завтра на утро нужно, только это осталось и все....
;(
дэ ))

PHP:
<?
switch ($page)
{
case index :
  if (version=='print') print ('index_print') else print ('index');
  break;
case about :
  if (version=='print') print ('about_print') else print ('about');
  break;
case contact :
  if (version=='print') print ('contact_print') else print ('contact');
  break;
...
...
...
default: 
  print ('index');
break;
}
?>
_идея_ ясна? )
 
Сверху