CMS Eleanor - Поиск
Полная версия этой страницы: Официальный форум Eleanor CMS » Помогите чуток разобраться
Официальный форум Eleanor CMS » Поддержка пользователей системы Eleanor CMS » Первые шаги
boltyn
К сожалению в других разделах форума создать тему не получается но всё же.
Решил написать модуль, возникли сразу вопросы. Генерация линка взял из модуля ньюз.
<a href="&#39;.$Mainclass->Url->ConstructUrl(array(array(&#39;tag&#39;=>$arr[&#39;name&#39;]))).&#39;" &#39;.$size.&#39;>&#39;.$arr[&#39;name&#39;].&#39;</a>


Этот скрипт делает линк, примерно такого вида
www.site.ru/modul/tag_(тут значение $arr[&#39;name&#39;])

Но не приписывает вконце хтмл, из-за этого не хотят считываться при переходе на другую страницу переменные которые передовались посредством get , дописываем ручками .хтмл всё переходит.
А теперь вопросы, как сделать нормальную генерацию линка (с .html). И второй более глупый, .$size. что это? куда это добавляется в урл понять не смог
NoIndex
Ну, а, если попробовать:
<a href="&#39;.$Mainclass->Url->ConstructUrl(array(array(&#39;tag&#39;=>$arr[&#39;name&#39;]))).&#39;" &#39;.$size.&#39;>&#39;.$arr[&#39;name&#39;].&#39;.html&#39;</a>
?
boltyn
<a href="&#39;.$Mainclass->Url->ConstructUrl(array(array(&#39;tag&#39;=>$arr[&#39;name&#39;]))).&#39;" &#39;.$size.&#39;>&#39;.$arr[&#39;name&#39;].&#39;.html&#39;</a>

ну тогда уж
<a href="&#39;.$Mainclass->Url->ConstructUrl(array(array(&#39;tag&#39;=>$arr[&#39;name&#39;]))).&#39;" &#39;.$size.&#39;>&#39;.$arr[&#39;name&#39;].&#39;.html</a>

Тогда да, работает. а что на счёт $size и как заставить передавать две и более переменные?
NoIndex
Эм, извиняюсь, ступил.

Что такое $size я не знаю, но возможно это длинна ссылки, хотя... Санвас придёт — подскажет.
boltyn
жаль но всё аврно спасибо. и блин почему когда они свои модули писали там эти ссылки генерятся без .html приписки...
Alexander
boltyn, в Вашем модуле есть строка:
$Mainclass->Url->ending=...

? Если есть - попробуйте удалить.

$site - характеризует размер ссылки на тег. Чем больше новостей с тегом - тем тег жирнее и больше.
boltyn
Alexander, спасибо.
А всё же, как сделать передачу двух более параметров в урл?

как понимаю это и есть пример сбора длинных урлов:
			$url=($Mainclass->vars[&#39;m_news_long_url&#39;] ? $Mainclass->Categories_l->CategoryUrl($arr[&#39;main_cat&#39;],&#39;&#39;,&#39;&#39;,false) : &#39;&#39;).$Mainclass->Url->ConstructUrl(array(array($arr[&#39;url&#39;],&#39;nid&#39;=>$arr[&#39;id&#39;])),!$Mainclass->vars[&#39;m_news_long_url&#39;]);
<a href="&#39;.$url.&#39;"><b>&#39;.$Mainclass->lang[&#39;news&#39;][&#39;detail&#39;].&#39;</b></a>;


но что-то не идёт в голову как под себя пересобрать
Alexander
Цитата (boltyn @ 18.6.2009, 17:16)
А всё же, как сделать передачу двух более параметров в урл?

Эмм. Если правильно понял, то:
$Mainclass->Url->ConstructUrl(array(array(&#39;param1&#39;=>&#39;value&#39;),array(&#39;param2&#39;=>&#39;value2&#39;),array(&#39;param3&#39;=>&#39;value3&#39;)))

вернет
param1_value1/param2_value2/param3_value3.html при статике и param1=value1&param2=value2&param3=value3 при динамике.

$Mainclass->Url->ConstructUrl(array(&#39;param1&#39;=>&#39;value&#39;,&#39;param2&#39;=>&#39;value2&#39;,&#39;param3&#39;=>&#39;value3&#39;))

вернет
value1/value2/value3.html при статике и param1=value1&param2=value2&param3=value3 при динамике.

$Mainclass->Url->ConstructUrl(array(array(&#39;static&#39;,&#39;param1&#39;=>&#39;value&#39;),&#39;param2&#39;=>&#39;value2&#39;,&#39;param3&#39;=>&#39;value3&#39;))

вернет
static/value2/value3.html при статике и param1=value1&param2=value2&param3=value3 при динамике.
boltyn
Да именно оно, спасибо, прям мини F.A.Q. набирается :)
хм, как понимаю при статике используя
 $Mainclass->Url->ConstructUrl(array(&#39;param1&#39;=>&#39;value&#39;,&#39;param2&#39;=>&#39;value2&#39;,&#39;param3&#39;=>&#39;value3&#39;))

урл придётся разбивать по слешам и запоминая порядок генерации подставлять в параметры?
что бы снова получить значения param1 = value , param2 = value2 , param3 = value3
Alexander
boltyn, за Вас все сделает система:
if ($Mainclass->Url->IsStatic())
{
	$Mainclass->Url->params=array(&#39;param1&#39;,&#39;param2&#39;,&#39;param2&#39;);
	$Mainclass->Url->Parse();
}


После этого можете сделать var_dump($_GET) и убедитесь, что все грамотно распарсено.

Кстати, если модуль не слишком сложный, рекомендую вынести:
$Mainclass->Url->params=array(&#39;param1&#39;,&#39;param2&#39;,&#39;param2&#39;);

на самый верх, тогда можно будет писать:
$Mainclass->Url->ConstructUrl(array(&#39;value&#39;,&#39;value2&#39;,&#39;value3&#39;))

это вернет
value1/value2/value3.html при статике и param1=value1&param2=value2&param3=value3 при динамике.
boltyn
Alexander, большое спасибо, объяснили всё грамотно и понятно :)
boltyn
Если не сложно, можете подсказать что нужно прописать перед формой вывод редактора елеоноры бб на сайте.
до вывода формы вывода редактора подгружаю
$Mainclass->Loadclass(&#39;classes/others/class_editor.php&#39;);

фаерфокс файр баг ругается
EleanorBBEditor is not defined
[Break on this error] var i_stext_4a4fd366e8c67 = new Eleano...or(Id("stext"),"i_stext_4a4fd366e8c67");

на строчку
var i_stext_4a4fd366e8c67 = new EleanorBBEditor(Id("stext"),"i_stext_4a4fd366e8c67");

Форму ввода вывожу
 $Mainclass->Template->OpenTable().&#39;<form method="post" action="">
		<table class="formeditor" align="center">
				<tr><td align="left">&#39;.$add2.&#39;</td><td align="left">&#39;.$Mainclass->Editor->Area(&#39;stext&#39;,$stext,10).&#39;</td></tr>
		<tr><td colspan="2" align="center">&#39;.Template::Button($pos).&#39;</td></tr></table></form>&#39;.$Mainclass->Template->CloseTable();


По сути же если нажать на любую клаву редактора то сбрасывает на главную сайта.
Заранее спасибо.
Alexander
boltyn, нужно просто подключить JS файл js/eleanor_bb.js . Сделать это можно так:
global $jscripts;
$jscripts[]=&#39;js/eleanor_bb.js&#39;;


Вставить этот код нужно ДО вызова функции Head().
boltyn
Спасибо.
Эхх, что то видать не фортит мне с этим редактором :)

dropdowncontent is not defined
[Break on this error] dropdowncontent.init("i_stext_4a4fd7ee..._smiles", "right-bottom", 500, "click");
Alexander
boltyn,
$jscripts[]=&#39;js/dropdowntabs.js&#39;;

;)
boltyn
если я с помощью, элеоноры_бб вбиваю текст в бд, как вывести текст с этим форматированием? сейчас текст выводится
 echo $Mainclass->Template->OpenTable().$content.$Mainclass->Template->CloseTable();
azacgrus
boltyn,
Цитата
$Mainclass->Editor->GetHTML('name');

примерно так.
boltyn
azacgrus,
Цитата (azacgrus @ 15.10.2009, 15:35)
boltyn,
Цитата
$Mainclass->Editor->GetHTML('name');

примерно так.

Я наверно чего то не дополнял, ну ладно. Если выводим там то получаем

Цитата
$content = $Mainclass->Editor->GetHTML('content');
echo $Mainclass->Template->OpenTable().$content.$Mainclass->Template->CloseTable();

тогда ещё боавляем в код до хедера
	$Mainclass->Loadclass(&#39;classes/others/class_editor.php&#39;);

нов этом случае сам контент не робит.
Это если принять ваше рассуждение на веру. мне же казалось что эта функция предназначена для другово....
azacgrus
boltyn, при заносе текста из редактора в бд используйте эту функцию для преобразования бб кодов и т.д. в хтмл
boltyn
azacgrus, спасибо. Точняк, забыл добавить в редактор когда добавляешь. чёртова рассеянность меня погубит когданить.
ps. сорри за свою тягодумность, вместо того что бы проверить не забыл ли в редакторе засветить взял и в выод плюнул, хотя понимал что она там нафиг не нужна :))
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.