Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
AlexUnit

IP Links как сделать чтобы ссылки были в верном формате

Рекомендованные сообщения

Гуру подскажите как добится чтобы заработало следующее ...

 

Есть модуль IP Links в котором создаются ссылки, но модуль я уже изменил и теперь вывожу в название ссылки не урл а ее описание которое заполнено вот так

 

post-16112-0-58827500-1305452291_thumb.png

 

Становится понятно что оформленная ссылка не отображается правильно

 

Потом зайдя в саму ссылку видим что все верно

 

post-16112-0-95621200-1305452316_thumb.png

 

Смотрим код шаблона и там в деталях ссылки она формируется так

 

<tr>

<td class='linkrow1' valign='top'>{$this->lang->words[ 'description' ]}</td>

<td class='linkrow2'>{$link[ 'link_description' ]}</td>

</tr>

 

Теперь код как она формируется в списке ссылок

 

<td class='linkrow2'>{$link[ 'link_description' ]}</td>

 

Вроде бы все правильно, но вот не хотит выводить как нада и все.

Скорее всего какая то наследственность от выше объектов но вот понять не могу что влияет и как найти ....

Подскажите куда копать...

Поделиться сообщением


Ссылка на сообщение

Подключать парсер BBCode надо. По хорошему - с кешированием.

Поделиться сообщением


Ссылка на сообщение

Наследственность здесь не причем, это ббкод. К хтмл никакого отношения не имеет. Просто в скрипте две разные участки которые выводят информацию, и в первом не обрабатывается ббкоды. Копать надо в этом направление, найти функцию первого и добавить туда поддержку.

Поделиться сообщением


Ссылка на сообщение

Подскажите как это можно сделать ...

Поделиться сообщением


Ссылка на сообщение

Вот код что выводит правильно

 

{parse js_module="rating"}

{parse js_module="editor"}

<script type="text/javascript">

//<![CDATA[

// Editor JS: Only needs to be done once per page

{parse template="editorJS" group="editors" params=""}

//]]>

</script>

{parse template="linksMessages" group="skin_links" params="$messages"}

 

<tr>

<td>{parse replacement="{$link[ 'statusIcon' ]}"}</a></td>

 

 

<td>{$link[ 'link_description' ]}</td>

 

 

<td class='stats'><ul><li>{$link[ 'link_hits' ]}

<a href='{parse url="showlink={$link[ 'link_id' ]}" template="showlink" seotitle="{$link[ 'link_seo_title' ]}" base="publicWithApp"}'>

{$this->lang->words[ 'hits' ]}</li></ul></a>

 

</td>

<if test="$this->memberData[ 'g_l_mod_links' ] == 1 && $showMulti == 1">

<td class='short'><input type='checkbox' class='input_checkbox topic_mod' id='tmod_{$link[ 'link_id' ]}' /></td>

</if>

</tr>

 

 

Нет ничего такого чтобы заставило отрабатывать вв коды ...

Поделиться сообщением


Ссылка на сообщение
Нет ничего такого чтобы заставило отрабатывать вв коды ...

Совершенно верно. BBCode обрабатываются в скриптах, а не в шаблонах. При этом в общем листинге в коде парсера нет (и это логично - слишком много ресурсов будет есть, да и не нужен, обычно), а при открытии конкретной ссылки - есть.

 

Т.е. в файле /admin/applications_addon/other/links/modules_public/links/links.php есть строки 216-224:

	/* Init for link description */
	IPSText::getTextClass( 'bbcode' )->parse_html				= 0;
	IPSText::getTextClass( 'bbcode' )->parse_nl2br			= 1;
	IPSText::getTextClass( 'bbcode' )->parse_bbcode			= 1;
	IPSText::getTextClass( 'bbcode' )->parse_smilies		= ( $this->settings[ 'l_emo_ldesc' ] == 1 ) ? 1 : 0;
	IPSText::getTextClass( 'bbcode' )->parsing_section	= 'links_ldesc';

	$link[ 'link' ][ 'link_description' ] = IPSText::getTextClass( 'bbcode' )->preDisplayParse( $link[ 'link' ][ 'link_description' ] );
	$link[ 'link' ][ 'link_description' ] = IPSText::getTextClass( 'bbcode' )->memberViewImages( $link[ 'link' ][ 'link_description' ] );

 

А в файле /admin/applications_addon/other/links/modules_public/links/categories.php ничего такого нет. Где-то здесь ~338:

	while ( $row = $this->DB->fetch( $fetchLinks ) )
	{
		$row = $this->links->parseLink( $row );

		$links[ $row[ 'link_id' ] ] = $row;		
		$linkIds[] = $row[ 'link_id' ];
	}

 

Сделать что-то вроде этого:

	/* Init for link description */
	IPSText::getTextClass( 'bbcode' )->parse_html				= 0;
	IPSText::getTextClass( 'bbcode' )->parse_nl2br			= 1;
	IPSText::getTextClass( 'bbcode' )->parse_bbcode			= 1;
	IPSText::getTextClass( 'bbcode' )->parse_smilies		= ( $this->settings[ 'l_emo_ldesc' ] == 1 ) ? 1 : 0;
	IPSText::getTextClass( 'bbcode' )->parsing_section	= 'links_ldesc';

	while ( $row = $this->DB->fetch( $fetchLinks ) )
	{
		$row = $this->links->parseLink( $row );

		$links[ $row[ 'link_id' ] ] = $row;		
		$links[ $row[ 'link_id' ] ][ 'link_description' ] = IPSText::getTextClass( 'bbcode' )->preDisplayParse( $links[ $row[ 'link_id' ] ][ 'link_description' ] );
		$links[ $row[ 'link_id' ] ][ 'link_description' ] = IPSText::getTextClass( 'bbcode' )->memberViewImages( $links[ $row[ 'link_id' ] ][ 'link_description' ] );

		$linkIds[] = $row[ 'link_id' ];
	}

 

Правда все это будет заметно грузить сервер (почему и не реализовано изначально).

Поделиться сообщением


Ссылка на сообщение

Спасибо большое, все работает ...

Поделиться сообщением


Ссылка на сообщение
05/18/11 16:11 (изменено)

А как можно вообще избавится от категорий, чтобы ссылки были сразу как заходишь ????

Изменено пользователем AlexUnit

Поделиться сообщением


Ссылка на сообщение

Вы отказались уже почти от всех функций этого модуля. Если убирать еще и категории - может, имеет смысл просто посмотреть в сторону чего-то попроще? Например, (DP31) Custom Pages 1.2.0? Просто оформите и выведите там нужные вам ссылки, и все..)

Поделиться сообщением


Ссылка на сообщение

Мне нужен 2 уровень ссылок ... а так получается все равно будет 3-ий ...

 

И данный модуль уже задействован поэтом у использовать его не получится ...

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...