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

(Pav33) Topic Description

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

$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']

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


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

Сделал правки, теперь после сохранения сообщения форум вылетает с ошибкой, что страницу не удалось загрузить...

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


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

Лог ошибки приведите или правьте файлы внимательнее, где-то видимо допустили синтаксическую ошибку.

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


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

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

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

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


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

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

 

По инструкции автора хука нужно в шаблон 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 правильно составить?

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

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


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

По инструкции автора хука нужно в шаблон 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

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


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

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

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

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


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

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

 

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

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

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


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

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

 

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

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


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

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

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

 

 

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

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

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


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

Так и не смог заставить троеточие появиться.. Не подскажете, возможно ли сделать, чтобы троеточие появлялось после последнего целого слова, т.е. чтобы не умещающееся слово не отображалось?

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


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

Если с троеточием невозможно реализовать решение, можно ли как-то сделать, чтобы если описание темы было длиннее заданного значения, просто выводилось предупреждение в модальном окне, что "описание слишком длинное, пожалуйста, укоротите"?

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

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

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