Контакты RSS 2.0

Разделы Сайта:

Кубтеле - о компании
Инструменты SEO
FreeBSD
Администрирование
Centos администрирование
Windows администрирование
Программирование для web

Аккаунт

Популярное:

Инструменты SEO › Как добавлять дополнительные разделы новостей на сайт инструменты seo
Как добавлять дополнительные разделы новостей на сайт инструменты seo, в шаблоне добавить получилось, а так чтобы заработало нет, наверно что то в движке,

В файле /lib/admin.control.lib.php есть объект `w_admin_admnewsitems` (строка 1045 - смотрю в файле новой версии, поэтому у Вас может немного отличаться номер строки..)
В этом объекте есть метод __construct (он первый в списке методов и прописан как )

Цитата:

Показать цитату
function __construct(w_Control_obj $control, $section_id) {
parent::__construct($control, $section_id);
switch ($this->GetNewsType()) {
//internet
case '2': $this->global_string_identifier = 'admnewssectinterne'; break;
//site
default: $this->global_string_identifier = 'admnewssectsite'; break;
}
$this->secondpath_first = '&ntype='.$this->GetNewsType().'&lang='.$this->GetLang();
}//__construct

В этом методе идентифицируются имена разделов для админки
(будет что-то вроде `Пользователь Admin - Административный раздел - а дельше идентификатор, который будет присвоен`)
Идентификатор должен быть ID ресурсов, который размещается во всех файлах языков (как в русской версии, так и в английском файле ресурсов строк.)

Выбор идет следующем образом:


Показать цитату
case '2': $this->global_string_identifier = 'admnewssectinterne'; break;
Если идентификатор 2 - указать названия блока новостей как admnewssectinterne

и т.далее..
например добавить раздел под идентификатором 3, скажем - `новости чего-то`
тогда нужно добавить после строки

Показать цитату
case '2': $this->global_string_identifier = 'admnewssectinterne'; break;
строку

case '3': $this->global_string_identifier = 'идентификатор'; break;

В таком случае для идентификатора 3 будет назначено название соответствующее 'идентификатору'

Примерно весь блок будет выглядеть в результате так:


Показать цитату
function __construct(w_Control_obj $control, $section_id) {
parent::__construct($control, $section_id);
switch ($this->GetNewsType()) {
//internet
case '2': $this->global_string_identifier = 'admnewssectinterne'; break;
//новости чего-то
case '3': $this->global_string_identifier = 'идентификаторстрокиресурсов'; break;
//site
default: $this->global_string_identifier = 'admnewssectsite'; break;
}
$this->secondpath_first = '&ntype='.$this->GetNewsType().'&lang='.$this->GetLang();
}//__construct

------------ далее ----------------
После того, как имена разделов админки присвоены для `новых` разделов, теперь необходимо открыть для них доступ.

Ниже по файлу есть метод GetNewsType

от первого метода идет через 3, выглядет так:


Показать цитату
function GetNewsType() { return ($_GET['ntype'] && $_GET['ntype'] == '2') ? '2' : '1'; }

Здесь ЯВНО проверяется точность указания идентификатора новости. Если 2 - интернет, в любом другом случае - новости сайта
Вам нужно немного изменить метод и добавить туда пропуск для `новых` идентификаторов.
Например меняем метод `полностью` на такой:

function GetNewsType() {
if (!$_GET['ntype']) { return '1'; }
switch ($_GET['ntype']) {
case '2':
case '3':
case '4':
return $_GET['ntype'];
default: return '1';
}
}

тут жирным отметил 2 новых элемента, которые могут быть использованы. Таким методом можно прописать сколько угодно, просто дописываете перед return $_GET['ntype']; нужный элемент, например case '5':case '6': и т.д..

*** Только не используйте идентификатор 0 - ноль использовать нельзя. ОТСЧЕТ ОТ 1 И ДО СКОЛЬКО УГОДНО.

Если открыть доступ и указать идентификаторы имен для `новых` разделов, то данные разделы станут доступны для редактирования по ссылке:
http://адреспроекта/account/admnewsitems/&ntype=3
здесь 3 выделенно жирным, указывает, что вместо неё просто подставляется нужный номер раздела, а для быстрого доступа можете добавить в шаблоне как меню администратора (как добавлены новости интернета и новости сайта).


Теперь в том же файле нужно найти объект w_admin_admcommentslist
Этот объект управляет комментариями к новостям.

Там есть метод : function GetObjectName($commsntinfo) { (строка 1314, может немного отличаться..)

Там уже есть список разрешенных идентификаторов, просто добавить туда нужные..
там имеется
case '1':
case '2':

добавить например после case '2': элемент case '3':
чтобы получилось например такое:
case '1':
case '2':
case '3':
далее коды метода..

И чтобы в разделе комментариев была возможность выбрать новый раздел - открываем файл шаблона этого раздела
\sm_ff\язык\templates\шкура\adm_account\adm_admcommentslist.tpl
Там на строчке 12 есть строка:

Показать цитату
Новости интернета
Добавляем например 13 строчкой такую строку
Название раздела

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


Разделы например добавлены, но комментировать новости в данных разделах будет невозможно, а если быть точнее - вероятность получения ошибок - высока. Чтобы сделать полную функциональность для новых созданных разделов - открываем файл /lib/confi/conf.php

В данном файле есть переменная $_GLOBALUSECOMMENTOPTIONS (она почти в самом низу находится)
В ней добавлены параметры комментариев только для идентификаторов 1 и 2 (новости сайта и интернета)
Добавте туда блоки с новыми разделами (Важно - блоки разделяются запятыми)

например блок с идентификатором 3

//новости чего-то
'3' => array(
'enabled' => true,
'perpagecount' => 15,
'withmodercomment' => true,
'withcaptcha' => true,
'pathobjects' => 'news',
'showimages' => false
)

и так далее...


Все, после этого можете в шаблоне новостей добавлять ссылки на разделы новых новостей и они будут полноценно работать с возможностью редактирования в админке и использования комментариев к ним.
скачать dle 10.3фильмы бесплатно
Добавил: admin › 13-06-2011, 22:00
› 0 комментария › печатькатегория
Другие новости по теме
  • Настройка сервера под задачи web хостинга на CENTOS 6
  • Добавление нового инструмента в SEO
  • Как добавить страницу в Инструменты СЕО?
  • Настройка web сервера на FreeBSD
  • Установка - Настройка панели управления хостингом syscp

  • Кубтеле 350000, Россия, Краснодарский край, , город Краснодар,улица Айвазовского, д. 94, корп. А
    Продвижение сайтов,Регистрация доменов,Компьютерная системная интеграция
    8(861) 299-02-62, +7(903) 449-666-8