PDA

View Full Version : Background в правом блоке


gulden
09.05.2007, 01:39
Всем привет!

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

gulden
15.06.2007, 02:20
на сколько я понимаю идея какая, что бы когда блок правый использовать другую шкурку (тему). может кто знает как такое можно сделать?

lot
16.06.2007, 02:12
что бы правые блоки было видно на вашем сайте =тогда когда вы хотите ,придеться периписать тему или использовать другую тему ,там где блоки видны справа (мнение субьективно сам ничегошеньки не знаю)

Astrix
16.06.2007, 13:18
что бы правые блоки было видно на вашем сайте =тогда когда вы хотите ,придеться периписать тему или использовать другую тему ,там где блоки видны справа (мнение субьективно сам ничегошеньки не знаю)

Мнение верное... Хотя особо много переписывать не придется.

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

Можно такое сделать, но придется править mainfile.php (возможно) и, естественно, тему немного исправлять (писать отдельную функцию под правые блоки, к примеру, а в mainfile соответственно прописать, какую ф-цию вызывать, в зависимости от расположения блока).

gulden
18.06.2007, 00:48
Получилось с блоком News такое проделать. Для этого периписал функцию
function themesidebox($title, $content, $siteposition) {
$tmpl_file = "themes/coastline/blocks.html";
$thefile = implode("", file($tmpl_file));
$thefile = addslashes($thefile);
$thefile = "\$r_file=\"".$thefile."\";";
eval($thefile);
print $r_file;
}

в файле theme.php

Просто добавил еще одну функцию

function themesidebox_1($title, $content, $siteposition) {
$tmpl_file = "themes/coastline/blocks_1.html";
/* Изменил имя файла блока и добавил копию файла blocks_1.html с другим background */
$thefile = implode("", file($tmpl_file));
$thefile = addslashes($thefile);
$thefile = "\$r_file=\"".$thefile."\";";
eval($thefile);
print $r_file;
}

В блоке News изменил в файле article.php все themesidebox на themesidebox_1
News заработало она стала использовать другой background, такой же фокус с опросом не прокатил, похоже там все более серьезно подвязано через mainfile.php

Astrix
18.06.2007, 02:23
Получилось с блоком News такое проделать. Для этого периписал функцию
function themesidebox($title, $content, $siteposition) {
$tmpl_file = "themes/coastline/blocks.html";
$thefile = implode("", file($tmpl_file));
$thefile = addslashes($thefile);
$thefile = "\$r_file=\"".$thefile."\";";
eval($thefile);
print $r_file;
}

в файле theme.php

Просто добавил еще одну функцию

function themesidebox_1($title, $content, $siteposition) {
$tmpl_file = "themes/coastline/blocks_1.html";
/* Изменил имя файла блока и добавил копию файла blocks_1.html с другим background */
$thefile = implode("", file($tmpl_file));
$thefile = addslashes($thefile);
$thefile = "\$r_file=\"".$thefile."\";";
eval($thefile);
print $r_file;
}

В блоке News изменил в файле article.php все themesidebox на themesidebox_1
News заработало она стала использовать другой background, такой же фокус с опросом не прокатил, похоже там все более серьезно подвязано через mainfile.php


да. там для этого спец функция есть

function render_blocks($side, $blockfile, $title, $content, $bid, $url) {
if(!defined('BLOCK_FILE')) {
define('BLOCK_FILE', true);
}
if (empty($url)) {
if (empty($blockfile)) {
if ($side == "c") {
themecenterbox($title, $content);
} elseif ($side == "d") {
themecenterbox($title, $content);
} else {
themesidebox($title, $content);
}
} else {
if ($side == "c") {
blockfileinc($title, $blockfile, 1);
} elseif ($side == "d") {
blockfileinc($title, $blockfile, 1);
} else {
blockfileinc($title, $blockfile);
}
}
} else {
if ($side == "c" OR $side == "d") {
headlines($bid,1);
} else {
headlines($bid);
}
}
}


чтобы сделать, как вам нужно, замените в СВОЕЙ (не в этой - она только для примера!) функции render_blocks вызов themesidebox. например, так:

все изменения находятся между символами #########


function render_blocks($side, $blockfile, $title, $content, $bid, $url) {
if(!defined('BLOCK_FILE')) {
define('BLOCK_FILE', true);
}
if (empty($url)) {
if (empty($blockfile)) {
if ($side == "c") {
themecenterbox($title, $content);
} elseif ($side == "d") {
themecenterbox($title, $content);
############
} elseif ($side == "r") {
themesidebox_1($title, $content);//Вставляем нашу новую функцию для правых блоков
}
############ Все
} else {
themesidebox($title, $content);
}
} else {
if ($side == "c") {
blockfileinc($title, $blockfile, 1);
} elseif ($side == "d") {
blockfileinc($title, $blockfile, 1);//Исправляем тут. И никакой самодеятельности ;)
#############
} elseif ($side == "r") {
blockfileinc($title, $blockfile, 3);
}
#############
} else {
blockfileinc($title, $blockfile);
}
}
} else {
if ($side == "c" OR $side == "d") {
headlines($bid,1); //Если есть желание, можно и тут подкрутить
} else {
headlines($bid);
}
}
}
//Желательно еще и тут подправить:
function blockfileinc($title, $blockfile, $side=0) {
$blockfiletitle = $title;
$file = file_exists("blocks/".$blockfile."");
if (!$file) {
$content = _BLOCKPROBLEM;
} else {
include("blocks/".$blockfile."");
}
if (empty($content)) {
$content = _BLOCKPROBLEM2;
}
if ($side == 1) {
themecenterbox($blockfiletitle, $content);
} elseif ($side == 2) {
themecenterbox($blockfiletitle, $content); //Правим тут:
###############
} elseif ($side == 3) {
themesidebox_1($blockfiletitle, $content); //Это тож новая функция для правых блоков
###############
} else {
themesidebox($blockfiletitle, $content);
}
}


если я ничего не напутал и не пропустил, то на этом все....

gulden
18.06.2007, 13:33
спасибо, все заработало