Page 1 of 1
Новый тип раздела
Posted: Wed Dec 24, 2008 9:14 pm
by mr_ozio
Незнал как точнее титл сочинить.
О великий и всезнающий All!
Давно уже заседаю на данном форуме и всегда находил все ответы, но вот вдруг возник вопрос, на который я не смог найти ответа: Мне необходимо на каждом разделе сайта делать два полноценно редактируемых блока. Отсюда возникает несколько вариантов решения задачи:
1) сделать новый тип контента (может подскажет кто, как?)
2) делать редактируемые блоки (однако это не семантично и попросту неудобно. в конце концов блоки не для того существуют, да и потом попробуй объясни заказщику что там как..)
3) есть ещё какое-то решение о котором я незнал или недодумался.
есть предложения?
Re: Новый тип раздела
Posted: Thu Dec 25, 2008 6:09 am
by von-hamster
Я делал двумя способами:
1. В шаблон прописываешь:
{content block="Second Content Block"}
{content block="Third Content Block"}
...
{content block="N Content Block"}
(подробнее о параметрах смотри справку для тега content - при редактировании они появятся автоматом)
2. /lib/classes/contenttypes/Content.inc.php
Code: Select all
//1. в function Content() ищешь строку:
$this->mProperties->SetAllowedPropertyNames(array('content_en','target','pagedata',
// и добавляешь в массив названия блоков, у меня, например:
'keywords', 'description', 'sdesc',
// 2. в function SetProperties() добавсляешь ():
$this->mProperties->Add('string', 'keywords');
$this->mProperties->Add('string', 'description');
$this->mProperties->Add('string', 'sdesc');
// 3. в function FillParams($params) аналогично п.1
$parameters = array('content_en','target','pagedata','extra1','extra2','extra3',
// 4. в function EditAsArray в нужные места добавляешь строки вида:
$ret[]= array('Short description:',create_textarea(true, $this->GetPropertyValue('sdesc'), 'sdesc', 'pagesmalltextarea', 'sdesc', '', $stylesheet, '80', '6'));
$ret[]= array('Keywords:',create_textarea(false, $this->GetPropertyValue('keywords'), 'keywords', 'pagesmalltextarea', 'keywords', '', $stylesheet, '80', '6'));
$ret[]= array('Description:',create_textarea(false, $this->GetPropertyValue('description'), 'description', 'pagesmalltextarea', 'description', '', $stylesheet, '80', '6'));
// у меня, например, Short description - в основном табе, остальные во втором
И все...
Re: Новый тип раздела
Posted: Thu Dec 25, 2008 9:48 pm
by ZYV
Вариант 2) это для версий когда тег content ещё не умел такой темы. Лучше не использовать, а то патч придется накладывать каждое обновление.
Re: Новый тип раздела
Posted: Fri Dec 26, 2008 6:26 am
by von-hamster
Вариант 2, когда нужно сделать так, чтобы блоки были там, где нужно... Я не нашел как сделать так, чтобы блоки попадали в нужную вкладку стандартными методами.
Хотя для mr_ozio скорее всего действительно подойдет 1 вариант.
Re: Новый тип раздела
Posted: Mon Dec 29, 2008 4:18 am
by mr_ozio
разобрался да. спасибо большое! с каждой минутой юзанья этой цмс люблю её всё больше) всё просто и логично.
как хорошо что есть такой конкурент у друпала и джумлы. первое слишком тяжеловесное и глубокое, а второе нелогичное и перегруженное, а made simple то что надо!.
Re: Новый тип раздела
Posted: Mon Dec 29, 2008 8:25 am
by ZYV
Это не конкурент. Просто каждая система для своей цели. Но, конечно, хорошо, что ты наконец нашел систему, которая под твою цель наиболее удобна.