|
|
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 правил то скорее всего чето это не совсем то решение
|