Тема: блоки
Показать сообщение отдельно
Demon вне форума      Старый #8  
Аватара для Demon
Demon
Новенький
Регистрация: 12.12.2005
Сообщения: 3


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для Demon Найти все сообщения от Demon Добавить Demon в список друзей  
06.04.2006, 13:05

Хорошо, Soniks, я изучил PHP и мне помог MihaHard c www.phpnuke.ru - за что ему огромное спасибо, а раз тебе трудно подсказать, тогда подскажу я, потому что мало ли кому-нибудь да понадобится.

!!!!ВНИМАНИЕ!!! Этот вариант для моего случая (читайте посты выше)!!!!! Если Вы внесете изменения как здесь указано, то на главной странице у вас не будет блоков!!!!!


1. Заходим в файл theme.php
ищем функцию theme_header();
в ней в globals прописываем еще одну переменную, например $noblocks
далее в этой же функции ищем вот такую вещь blocks(left); - далее аккуратно удаляем вместе с "точкой с запятой" и в это же место вставляем вот такое чудо

PHP код:
 if ($noblocks ==1) {
echo 
"";
} else {
 
blocks(left); 


Теперь в этом же файле опускаемся ниже до функции theme_footer()
так же прописываем переменную в globals
так же ищем вот такую вещь blocks(right);
так же удаляем и вставляем
PHP код:
 if ($noblocks ==1) {
echo 
"";
} else {
 
blocks(right); 


Здесь ничего сложного....делов на 30 сек.....Идем далее


2. Заходим в "корне сайта" в файл index.php и после вот этих строк
PHP код:
 require_once("mainfile.php");
global 
$prefix$db$admin_file
пишем

$noblocks=1;

У нас должно получиться
PHP код:
 require_once("mainfile.php");
global 
$prefix$db$admin_file;
$noblocks=1


Тоже делов на 10 секунд.....

3. Заходим в модуль, который у Вас включен для главной странице (например News..ну у всех он разный) и в файле index.php этого модуля прописываем
$noblocks=1;

Подведем небольшой итог, что у нас получилось?
Когда мы загружаем главную страницу, то у нас правые и левые блоки отключаются с помощью переменной $noblocks=1; которую мы прописали......Далее, нам нужно реализовать такую проверку, при которой в зависимости от определеннного загруженного модуля будет показываться то левый, то правый блок, а иногда и все вместе причем!!! разные!!!!.

4. Самое главное

заходим в файл mainfile.php
ищем функцию
PHP код:
 function blocks($side

в ней в globals добавляем переменную $module_name;
далее в этой же функции ищем вот это
PHP код:
 $action substr($action0,1); 

Ниже строчкой пишем
PHP код:
 if( (($dig == "14") AND ($module_name != 'Modul1')) ) {
$action "0"



"Что здесь написано?" - спросите Вы. А здесь как раз то и прописано условие для отображения блоков. ...просто вставляйте этот код к себе и вместо Modul1 пишите название модуля, который у вас....а где цифра 14 - это ID вашего блока....Его можно узнать зайдя в Админ панель --> Блоки --> Выбрать нужный блок --> Редактировать и в строке браузера у вас отобразится ссылка, в конце которой и будет ID блока

Например:

http://localhost/admin.php?op=BlocksEdit&bid=29

Вот и все....будут вопросы задавайте.!!!!
 
Каждый должен вырастить ребенка, посадить дерево и создать сайт :-)