Помощник
Здравствуйте, гость ( Вход | Регистрация )
[решено] Вопросы по ConstructUrl |
Loader |
2011-07-28, 18:36
Сообщение
#1
|
|
Профессионал Группа: Eleanor user Сообщений: 1 161 Регистрация: 2010-04-19 Репутация: нет Всего: нет |
По ConstructUrl у меня есть два вопроса.
Допустим нам нужно "сконструировать" УРЛ опроса для модуля "Что нового". Вот тут-то и начинается самое интересное. Для этого используем конструкцию: Цитата $result=$Mainclass->Db->Query('SELECT `id`, `url`, `cid`, `title`, `date`, `cnt` FROM `f_voting` INNER JOIN `f_voting_l` USING(`id`) WHERE `language` IN (\'\',\''.$Mainclass->lang_name.'\') AND `status`=1 AND `date` BETWEEN \''.$start_date.'\' AND \''.$end_date.'\'',__file__,__line__); while($arr=$Mainclass->Db->Fetch_assoc($result)) { $url=($Mainclass->vars['m_voting_long_url'] ? $Mainclass->Categories_l->CategoryUrl($arr['cid'],'voting_categories',false,false) : '').$Mainclass->Url->ConstructUrl(array(array($arr['url'],'vid'=>$arr['id'])),!$Mainclass->vars['m_voting_long_url']); } Получаем:
Вопрос первый: как сделать так чтобы не дописывать вручную название модуля в начале Цитата $url='voting/'.$url; Вопрос второй: как избавиться от /whats-new/ Добавлю, что в модуле "Карта сайта" эта конструкция почему-то не пытается вписать в УРЛ имя модуля /sitemap/ , а тут почему-то пытается... Подскажите что неправильно? Сообщение отредактировал Loader - 2011-08-01, 20:47 |
|
|
||
Djadka |
2011-07-28, 18:56
Сообщение
#2
|
|
Любитель Группа: Eleanor user Сообщений: 463 Регистрация: 2010-10-17 Репутация: нет Всего: нет |
$url=($Mainclass->vars['m_voting_long_url'] ? $Mainclass->Categories_l->CategoryUrl($arr['cid'],'voting_categories',false,false) : '').$Mainclass->Url->ConstructUrl(array(array($arr['url'],'vid'=>$arr['id'])),FALSE); Вроде бы так |
|
|
||
Loader |
2011-07-28, 19:14
Сообщение
#3
|
|
Профессионал Группа: Eleanor user Сообщений: 1 161 Регистрация: 2010-04-19 Репутация: нет Всего: нет |
|
|
|
||
Alexander |
2011-07-28, 21:36
Сообщение
#4
|
|
Eleanor developer Группа: Администраторы Сообщений: 5 262 Регистрация: 2008-11-11 Из: Николаев Версия системы: RC5 Репутация: нет Всего: 67 |
Не? |
|
|
||
Loader |
2011-07-28, 22:53
Сообщение
#5
|
|
Профессионал Группа: Eleanor user Сообщений: 1 161 Регистрация: 2010-04-19 Репутация: нет Всего: нет |
А нельзя ли полный синтаксис команды привести? А то получается вот так:
Вот код который надо переделать:
Сообщение отредактировал Loader - 2011-07-28, 22:59 |
|
|
||
Alexander |
2011-07-29, 1:27
Сообщение
#6
|
|
Eleanor developer Группа: Администраторы Сообщений: 5 262 Регистрация: 2008-11-11 Из: Николаев Версия системы: RC5 Репутация: нет Всего: 67 |
Что Вы имеете ввиду под "полный синтаксис"?
Немного неудобно в RC5 извлекать URL категорий, поэтому, пока, наверное, лучше без них. |
|
|
||
Loader |
2011-07-29, 10:28
Сообщение
#7
|
|
Профессионал Группа: Eleanor user Сообщений: 1 161 Регистрация: 2010-04-19 Репутация: нет Всего: нет |
Вот как раз с категориями-то и надо! |
|
|
||
Djadka |
2011-07-29, 10:40
Сообщение
#8
|
|
Любитель Группа: Eleanor user Сообщений: 463 Регистрация: 2010-10-17 Репутация: нет Всего: нет |
так если с категориями то надо место фалсе, тру писать |
|
|
||
Loader |
2011-07-29, 11:01
Сообщение
#9
|
|
Профессионал Группа: Eleanor user Сообщений: 1 161 Регистрация: 2010-04-19 Репутация: нет Всего: нет |
Если написать true то он вместо категории имя текущего модуля туда тащит! |
|
|
||
Alexander |
2011-07-30, 15:21
Сообщение
#10
|
|
Eleanor developer Группа: Администраторы Сообщений: 5 262 Регистрация: 2008-11-11 Из: Николаев Версия системы: RC5 Репутация: нет Всего: 67 |
true - это флаг включать ли ПРЕФИКС ссылки или не включать. Префиксом как раз и есть модуль. С категориями, конечно, трудно немного, но... Уже почти все готово: Остается только создать $Mainclass->Categories_l и зарузить настройки модуля, чтобы переменная $Mainclass->vars['m_voting_long_url'] стала доступной. Тут показать легче, чем объяснять. Пожалуйста, предоставьте мне данные доступа, я все сдедалю - Вы потом выложите здесь. |
|
|
||
Loader |
2011-07-31, 7:53
Сообщение
#11
|
|
Профессионал Группа: Eleanor user Сообщений: 1 161 Регистрация: 2010-04-19 Репутация: нет Всего: нет |
Вот именно, что ТЕКУЩИЙ модуль им является! А если я в модуле "Карта сайта" вывожу УРЛ-ы из модуля "Новости"? Так он мне имя модуля не "Новости", а "Карта сайта" туда тащит причём очень упорно! Остается только создать $Mainclass->Categories_l и зарузить настройки модуля, чтобы переменная $Mainclass->vars['m_voting_long_url'] стала доступной. Тут показать легче, чем объяснять. Пожалуйста, предоставьте мне данные доступа, я все сдедалю - Вы потом выложите здесь. Да этоя всё знаю! Показывать не нужно. |
|
|
||
Alexander |
2011-07-31, 16:45
Сообщение
#12
|
|
Eleanor developer Группа: Администраторы Сообщений: 5 262 Регистрация: 2008-11-11 Из: Николаев Версия системы: RC5 Репутация: нет Всего: 67 |
Ну так, нужно указать false вторым параметром ContrustUrl, а в самом конструкторе ссылок указать имя модуля:
И все. Зачем кричать? Добавлено через 0 минут, 59 секунд: Ну так, нужно указать false вторым параметром ContrustUrl, а в самом конструкторе ссылок указать имя модуля:
И все. Зачем кричать? |
|
|
||
Loader |
2011-07-31, 17:30
Сообщение
#13
|
|
Профессионал Группа: Eleanor user Сообщений: 1 161 Регистрация: 2010-04-19 Репутация: нет Всего: нет |
Вот это Жесть получилась! Я лучше ручками припишу 'news/' |
|
|
||
Текстовая версия | 0.0382 сек. 12 запросов GZIP включен Сейчас: 2024-09-26, 23:43 |