CMS OrkZ - Переносим блок из SetCMS в OrkZ CMS

16.12.08 (18:42:29) Переносим блок из SetCMS в OrkZ CMS


долго, долго все просили и вот наконец описание, опишу своими словами как да что нужно поменять и как это должно выглядеть.

начнем с простого блока Часы blocks\clock\index.php

CUT
Вот старый код от 3.6.7 версии (взял её потому как под рукой оказалась)

PHP - Код
<?
if (INC !== 1) die();

$punkts "";
$blocks "";

$file file("files/blocks.set");
for(
$i=0;$i<count($file);$i++)
{
 
$q explode("::"$file[$i]);
 if (
$q[1] == "clock")
 {
  
$tit $q[0];
 }
}
$punkts "<center><embed src=blocks/clock/clock.swf width=130 height=130 type=application/x-shockwave-flash></center>";

$file file("templates/$templ_name/block.htm");
for(
$i=0;$i<count($file);$i++)
{
 
$file[$i] = str_replace(""$tit$file[$i]);
 
$file[$i] = str_replace("@text@"$punkts$file[$i]);
 
$blocks.=$file[$i];
}

$blocks.=$blocks_razdel;
?>


и делаем следующее .....

к имеющейся записи вместо кода
Код
$punkts = "";
$blocks = "";

пишем
Код
# Обнуляем переменные и инициализируем их
$tit=''; // название блока
$position=''; // положение блока
$punkts = ''; // содержание
$blocks = ''; // переменная контейнер (она выводится на сайте)


далее почти без изменений, мы добавляем только одну строчку
# Узнаем положение блока и его название
Код
$file = file('files/blocks.set');
for($i=0;$i<count($file);$i++)
{
$q = explode('::', $file[$i]);
if ($q[1] == 'clock') // имя блока (каталог)
{
$tit = $q[0];
$position=$q[3]; //<-- добавляем только вот эту строчку, определяем позицию блока
}
}


далее вместо сток
Код
$file = file("templates/$templ_name/block.htm");
for($i=0;$i<count($file);$i++)
{
$file[$i] = str_replace("", $tit, $file[$i]);
$file[$i] = str_replace("@text@", $punkts, $file[$i]);
$blocks.=$file[$i];
}

$blocks.=$blocks_razdel;


вставляем
Код

# Подключаем шаблон блока
$design_blocks=blocks_template($templ_name,$position);

# Если возникла необходимость сделать блоку персональный
# дизайн то это можно сделать заменив строку подключения блока на следующее:
# $design_blocks = file_get_contents('templates/'.$templ_name.'/block-new.htm');

$show=str_replace('@id@', 'empty',$design_blocks); // идентификатор блока
$show=str_replace('', $tit,$show); // заголовок
$show=str_replace('@text@', $punkts,$show);// содержание

# помещаем полученный результат в контейнер
$blocks.=$show;

# Добовляем разделитель блоков
$blocks.=$blocks_razdel;

# Удаляем переменные из памаяти
unset($tit);
unset($position);
unset($punkts);


в результате получаем новый блок

PHP - Код

if (INC !== 1) die();# защита от исполнения вне ядра системы

# Обнуляем переменные и инициализируем их
$tit=''// название блока 
$position=''// положение блока
$punkts ''// содержание
$blocks ''// переменная контейнер (она выводится на сайте)

# Узнаем положение блока и его название
$file file('files/blocks.set');
for(
$i=0;$i<count($file);$i++)
{
$q explode('::'$file[$i]);
if (
$q[1] == 'clock'// имя блока (каталог)
{
$tit $q[0];
$position=$q[3];
}
}

# Содержание блока
$punkts '<center><embed src=blocks/clock/clock.swf width=130 height=130 type=application/x-shockwave-flash></center>';

# Подключаем шаблон блока
$design_blocks=blocks_template($templ_name,$position); 

# Если возникла необходимость сделать блоку персональный 
# дизайн то это можно сделать заменив строку подключения блока на следующее:
# $design_blocks = file_get_contents('templates/'.$templ_name.'/block-new.htm');

$show=str_replace('@id@''clock',$design_blocks); // идентификатор блока
$show=str_replace(''$tit,$show); // заголовок
$show=str_replace('@text@'$punkts,$show);// содержание

# помещаем полученный результат в контейнер
$blocks.=$show;

# Добовляем разделитель блоков
$blocks.=$blocks_razdel

# Удаляем переменные из памаяти
unset($tit);
unset(
$position);
unset(
$punkts);
?>



Автор: OrkZ
Опубликовано на сайте: http://orkz.pogran.com
Прямая ссылка: http://orkz.pogran.com/index.php?set=news&mc=readfull&do=20081216184229