Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
AlexUnit

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

Recommended Posts

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

 

Есть модуль 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>

 

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

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

 

{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>

 

 

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

Share this post


Link to post
Share on other sites
Нет ничего такого чтобы заставило отрабатывать вв коды ...

Совершенно верно. 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' ];
	}

 

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Edited by AlexUnit

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...