Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля

создание более 250 правил маршрутизации

28.06.2014, 13:58
Мое Дело
Охапкин Иван

Зарегистрирован:
2010-03-23
Сообщений: 6

Есть более 250 вложенных разделов с url вида: /{folder-keyword} , которые потребовалось перенести с предыдущего сайта с сохранение urloв.

Для решения задачи сначала хотел схитрить и воспользоваться параметров Hidden_URL c занесением туда значения вида /{foloder-keyword} , но при обновление раздела урлы динамически менялись и я написал событие:
Код:
class ListenSubActions { 
private $nc_core;

public function __construct () {
$this->nc_core = nc_Core::get_object();
$this->nc_core->event->bind($this, array('updateSubdivision' => 'update_sub'));
}

public function update_sub ( $Catalogue_ID, $Subdivision_ID ) {

$sql = "select concat('/',EnglishName,'/') as name from Sub_Class where Subdivision_ID = ".$Subdivision_ID." and Class_ID = 2012 AND Catalogue_ID = ".$Catalogue_ID;

$query = $this->nc_core->db->query($sql );
$arr = $this->nc_core->db->last_result;
if(isset($arr[0]->name))
{
$url = $arr[0]->name;
$sql2 = "UPDATE Subdivision
SET
Hidden_URL = '".$url."'
WHERE
Subdivision_ID = ".$Subdivision_ID."
";

$query = $this->nc_core->db->query($sql2);

}
#$as = $nc_core->subdivision->update($Subdivision_ID, array("EnglishName"=>$name));
#$this->nc_core->subdivision->update($Subdivision_ID, array("Subdivision_Name"=>$name));
return 0;
}
}


Но после этого события всегда срабатывало системено и в любом случае меня значение.
Тогда я подумал через sql взять вставить более 250 записей, но наличие BLOB данных в таблице меня пока остановило.

В документации не нашел информации по методам работы с модулем route, а быстро разобраться в коде пока так же не удалось(

Подсказите, пожалуйста, как мне подойти к вопросу, чтобы добавить более 250 правил в маршрутизацию или сделать событие , которое будет срабатывать после системеного
28.06.2014, 20:26
Гость
Гость

а что мешает сделать эти 250 разделов сейчас? я дел больше тысячи при переносе и в ключевое слово записывал название старого файла.
один черт, компонент общий скорее всего и все лежит в одно физической таблице.
Скриптом все делается на ура.
29.06.2014, 15:54
Мое Дело
Охапкин Иван

Зарегистрирован:
2010-03-23
Сообщений: 6

ничто не мешает. они созданы и есть. Только все они находятся не на одном уровне, а вложены друг в друга, при этом все должны отдаваться по виду /{keyword}
а не /{keywordLevel1}/{keywordkLevel2}

поэтому и нужно либо событие переделать, либо записи добавить в таблицу маршрутизации, но как?
30.06.2014, 09:27
Гость
Гость

1. непонятно кто мешает все перенести на 1 уровень
2. reWrite в помощь
смысл делать кучу уровней чтобы все выводил в первом уровне?
честно говоря я не знаком с модулем маршрутизации, но когда 250 правил то скорее всего чето это не совсем то решение
198 196 2014-06-30 09:27:28 13720
Описание проекта