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

(Pav33) Topic Description

Recommended Posts

$this->request['TopicDesc'] - это только при редактирование темы из модераторских опции. Там еще есть другие файлы, которые выполняются при создание или редактирование темы и также необходимо отредактировать.

 

IPSText::mbsubstr( $desc, 0, $this->settings['topic_desc_max_len'] )
заменить на 
( mb_strlen( $desc ) > $this->settings['topic_desc_max_len'] ) ? IPSText::mbsubstr( $desc, 0, $this->settings['topic_desc_max_len'] - 3 ) . '...' : $desc

 

IPSText::mbsubstr( $data['description'], 0, $this->settings['topic_desc_max_len'] )
заменить на
( mb_strlen( $data['description'] ) > $this->settings['topic_desc_max_len'] ) ? IPSText::mbsubstr( $$data['description'], 0, $this->settings['topic_desc_max_len'] - 3 ) . '...' : $data['description']

 

IPSText::mbsubstr( $this->request['TopicDesc'], 0, 70  )
заменить на
( mb_strlen( $this->request['TopicDesc'] ) > $this->settings['topic_desc_max_len'] ) ? IPSText::mbsubstr( $this->request['TopicDesc'], 0, $this->settings['topic_desc_max_len'] - 3 ) . '...' : $this->request['TopicDesc']

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

Да, отредактировал с ошибкой, исправил )

Все внимательно проверил, все точно. Но троеточие не появляется ни в какую... Что же неправильно делаем?...

Share this post


Link to post
Share on other sites

Хочу добавить шаблон описания темы сразу в хук, чтобы вручную не редактировать шаблон скина. Составил файл хука и шаблон. Не подскажете, как правильно класс написать?

 

По инструкции автора хука нужно в шаблон Forum View -> topic после

 

		<span class='desc lighter blend_links'>

Нужно добавить:

 

{parse template="topicDesc" group="forum" params="$data['description']"}

У меня получился такой файл хука, ног вот как составить класс. я не знаю...

 

<file>
     <hook_file_real>p32TopicDescriptionTopicList.php</hook_file_real>
     <hook_type>templateHooks</hook_type>
     <hook_classname>p32TopicDescriptionTopicList</hook_classname>
     <hook_data><![CDATA[a:8:{s:12:"dataLocation";s:0:"";s:14:"libApplication";s:0:"";s:15:"classToOverload";s:0:"";s:9:"skinGroup";s:10:"skin_forum";s:12:"skinFunction";s:5:"topic";s:4:"type";s:2:"if";s:2:"id";s:7:"hasTags";s:8:"position";s:11:"pre.startif";}]]></hook_data>
     <hooks_source>
<![CDATA[
<?php
class p32TopicDescriptionTopicList
{
public $registry;
public $DB;
protected $settings;
protected $request;


public function getOutput()
{
	$data = $this->registry->output->getTemplate('forum')->functionData['TopicDescriptionList'][0]['form'];

public function replaceOutput( $output, $key )
{
	return $output;
}
}

]]></hooks_source>
   </file>

Шаблон:

 

<templates>
     <template_group>skin_forum</template_group>
     <template_content><![CDATA[<br />{parse template="topicDesc" group="forum" params="$data['description']"}</div>]]>
  </template_content>
     <template_name>TopicDescriptionList</template_name>
     <template_data>$description</template_data>
     <template_updated>1315157306</template_updated>
     <template_removable>1</template_removable>
     <template_added_to>1</template_added_to>
     <template_user_added>1</template_user_added>
     <template_user_edited>0</template_user_edited>
     <template_master_key>root</template_master_key>
   </templates>

Не подскажете, пожалуйста, как класс class p32TopicDescriptionTopicList правильно составить?

Edited by Strategius

Share this post


Link to post
Share on other sites

По инструкции автора хука нужно в шаблон Forum View -> topic после

Там нет хук поинта, а значит в этом месте код можно вставить только только типом хука "Перезагрузчик стиля"

 

//<?php

class p32TopicDescriptionTopicList extends skin_forum(~id~)
{
public function topic( $data, $forum_data, $other_data, $inforum )
{
	$html = parent::topic( $data, $forum_data, $other_data, $inforum );
	$html = str_replace( "<span class='desc lighter blend_links'>", "<span class='desc lighter blend_links'>" . $this->registry->output->getTemplate('forum')->topicDesc( $data['description'] ), $html );

	return $html;
}
}

  • Upvote 1

Share this post


Link to post
Share on other sites

А условие hasTags не подходит для хукпоинта?

Странно, добавил в хук этот класс, но шаблон все равно не выводится после установки хука... Знать бы еще, как хук отредактировать правильно :(

Share this post


Link to post
Share on other sites
А условие hasTags не подходит для хукпоинта?

В этом месте нет условия.

 

Странно, добавил в хук этот класс

В файле хука добавлять ничего не нужно. Все файлы добавляются редактированием хука в АЦ в режиме разработчика IN_DEV.

Share this post


Link to post
Share on other sites

Попытался отредактировать хук в АЦ, экспортировал его, но все равно какая-то путаница, нарушилась структура.. Ну и ладно, потом вручную попробую сделать.

 

А после внесения правок в хук из поста #16 троеточие должно появляться? Просто у меня как его не было, при изменении названия на длинное, так и нету.

Share this post


Link to post
Share on other sites

Попытался отредактировать хук в АЦ, экспортировал его, но все равно какая-то путаница, нарушилась структура.. Ну и ладно, потом вручную попробую сделать.

Если вы не смогли добавить файл в АЦ, вручную вы тем более не сделаете. У каждого файла хука есть свои настройки hook_data, без них он работать не будет.

 

 

А после внесения правок в хук из поста #16 троеточие должно появляться? Просто у меня как его не было, при изменении названия на длинное, так и нету.

По логике да. Посмотрите какая длина указана в настройки $this->settings['topic_desc_max_len']. Они добавляются только при длине текста больше чем $this->settings['topic_desc_max_len'].

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

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