+0.19
Рейтинг
2.30
Сила
Сделал по инструкции. Ничего не получилось…
Порядок действий:
1. Скопировал файл sidebar.tpl, переименовал его в leftbar.tpl
2. Удалил из него код, вместо удаленного написал
<div id="leftbar">test</div>

3. В style.css в строке 47, после #content и #sidebar добавил
#leftbar {float: left; width:20%;}
изминил во всех сторчках ширину 20% левый сайдбар, 20% правый, 60% — контент.
4. В header перед
<div id="content" {if $bNoSidebar}style="width:100%;"{/if}>
добавил
<div id="leftbar"> {include file=leftbar.tpl}</div>

Результат:
второго сайдбара не появилось, а слово «test» отобразилось в правой верхней части над контентом.
Пожалуйста, кто знает, разъясните, что не так и как правильно сделать два сайдбара.
  • avatar Hrom
  • 3
Делаю немного по другому (Лс, не ЛС — пофиг).
В прошлом году написал мини плагин для smarty и везде его использую:

<?php
/**
 * Smarty plugin
 * @package Smarty
 * @subpackage plugins
 */


/**
 * Smarty {fckeditor} function plugin
 *
 * Type:     function
 * Name:     fckeditor
 * Date:     May 5, 2008
 * Purpose:  fckeditor
 * @version  1.0
 * @param array
 * @param Smarty
 * @return string
 */
function smarty_function_fckeditor($params, &$smarty)
{
 if (!isset($params['name'])) {
     $smarty->trigger_error("fckeditor: missing 'name' parameter");
    return;
 }
 if($params['name'] == '')
 	return;

 if (!isset($params['BasePath'])) {
     $smarty->trigger_error("fckeditor: missing 'BasePath' parameter");
    return;
 }
 if($params['BasePath'] == '')
 	return;

 $params['BasePath'] = trim($params['BasePath']);

 if($params['BasePath']{0} == '/' || $params['BasePath']{0} == '\\')
 $params['BasePath'] = substr($params['BasePath'],1);

  if(!file_exists($params['BasePath'].'fckeditor.php')){
  	 $smarty->trigger_error("fckeditor: false 'BasePath' parameter");
    return;
    }
  else require_once(str_replace('\\','/',$params['BasePath']).'fckeditor.php');

  if(isset($params['value'])) $value = $params['value'];
  else $value = '';

  ob_start();

  $oFCKeditor = new FCKeditor($params['name']) ;
  $oFCKeditor->BasePath = '/'.$params['BasePath'];
  $oFCKeditor->Value = $value;
  if(isset($params['ToolbarSet'])) $oFCKeditor->ToolbarSet = $params['ToolbarSet'];
  if(isset($params['SkinPath']))   $oFCKeditor->Config['SkinPath']  = $params['SkinPath'];
  if(isset($params['Width'])) $oFCKeditor->Width = $params['Width'];
  if(isset($params['Height'])) $oFCKeditor->Height = $params['Height']; 

  $oFCKeditor->Create();
  $fckeditor = ob_get_contents();
  ob_end_clean();

  return $fckeditor;
}
/* vim: set expandtab: */

?>


закидывается в smarty\plugins\function.fckeditor.php

И потом в шаблоне просто:


{fckeditor name=aricle_text BasePath="/scripts/fckeditor/" value=$text}

Также есть параметры ToolbarSet=«Имя тулбара», Width и Height. Можно было сделать больше, но мне этого хватало.

В нашем случае для ЛС вместо

<textarea name="page_text" id="page_text" rows="20">{$_aRequest.page_text}</textarea></p>


Можно было бы вставить

{fckeditor name=page_text BasePath="$DIR_STATIC_SKIN/js/fckeditor/" value=$_aRequest.page_text}


И все:)