Russian TYPO3 community Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community  

Вернуться   Russian TYPO3 community > Тематические форумы > TypoScript практикум

Ответ
 
Опции темы Опции просмотра
Старый 06.10.2006, 16:36   #1
Tod
Senior Member
 
Аватар для Tod
 
Регистрация: 25.03.2006
Сообщений: 627
Отправить сообщение для Tod с помощью ICQ
По умолчанию возможности crop

В общем, для отображения результатов поиска выводятся как бы отрывки текста.
Код:
20.field = short//bodytext
20.crop = -250
Так вот оно так дико его отрезает, со всем форматированием.. и если еще с самого начала брать текст, то идут заголовки и смотрится ну просто дико.
Можно ли как-то настроить crop чтобы оно выводило по другому? ну код хтмл например или тексты без форматирования вообще. Есть ли в TS нечто подобное?
__________________
Персональный блог про заработок в интернете + полезных блога про typo3 и wordpress
Tod вне форума   Ответить с цитированием
Старый 06.10.2006, 17:56   #2
Valery Romanchev
Administrator
 
Аватар для Valery Romanchev
 
Регистрация: 23.08.2003
Адрес: Moscow, Russia
Сообщений: 1,926
Отправить сообщение для Valery Romanchev с помощью Skype™
По умолчанию

наверное стоит свою Php функцию написать и подцепить ее через Ts... и в ней уже что угодно делать
__________________
Веб-студия ТТЛАБ
www.ttlab.ru
Valery Romanchev вне форума   Ответить с цитированием
Старый 06.10.2006, 18:43   #3
Tod
Senior Member
 
Аватар для Tod
 
Регистрация: 25.03.2006
Сообщений: 627
Отправить сообщение для Tod с помощью ICQ
По умолчанию

А с помощью там какого-то HTMLparser ничего сделать нельзя? может как-то тэги поубирать из текста просто... ? или точно нет?))
__________________
Персональный блог про заработок в интернете + полезных блога про typo3 и wordpress

Последний раз редактировалось Tod; 06.10.2006 в 18:51
Tod вне форума   Ответить с цитированием
Старый 06.10.2006, 18:51   #4
Valery Romanchev
Administrator
 
Аватар для Valery Romanchev
 
Регистрация: 23.08.2003
Адрес: Moscow, Russia
Сообщений: 1,926
Отправить сообщение для Valery Romanchev с помощью Skype™
По умолчанию

Цитата:
Сообщение от Tod
А с помощью там какого-то HTMLparser ничего сделать нельзя? может как-то тэги поубирать из текста просто... ? или точно нет?))
Если свою функцию, то может пример наведете как что куда подцепить? (если не слочно)
PHP код:
// Correction to long lines of HTML code
page.includeLibs.user_textWrap fileadmin/templates/design/user_textWrap.php
page
.stdWrap.preUserFunc user_textWrap 
PHP код:
<?
//
// see  http://ru.php.net/manual/en/function.wordwrap.php
//

function user_textWrap($tstr,$conf ) {

$len 75;
$br "\r\n";
$strs explode($br,$tstr);
$retstr "";
foreach (
$strs as $str) {
$str=trim($str);
if (
strlen($str)>75)      
$retstr .= better_wordwrap($str,75,"\r\n") . $br;
else 
$retstr .=$str $br;
     }

/*
$strs = explode($br,$retstr);
$retstr = "";
$j=0;
foreach ($strs as $str) {
if (strlen($str)>75)      
$retstr .= wrap_tags($str) . $br;
//$retstr .=$str . $br;
//$retstr .=$str . $br;
else 
$retstr .=$str . $br;
$j++;
     }
//echo $j;
*/

return $retstr;
}


function 
wrap_tags($str) {
$i=0;
$tag_close '>';

$str_new='';
$str_remains=$str;

while (
strlen($str_remains) > 90) {
//echo $i."<br>". htmlspecialchars($str_remains)."<br><br>";
    
$pos strpos($str_remains$tag_close75); //
    
$str_new .= substr($str_remains,0,$pos+1)."\r\n";
//echo "<br>". htmlspecialchars($str_new)."<br><br><br>";
$str_remains substr($str_remains,$pos+1,strlen($str_remains));
$i++;
}
$str_new .=$str_remains;
   return 
$str_new;
}


function 
better_wordwrap($str,$cols,$cut){
   
$tag_open '<';
   
$tag_close '>';
   
$count 0;
   
$in_tag 0;
   
$str_len strlen($str);
   
$segment_width 0;
 
   for (
$i=$i<=$str_len $i++){
       if (
$str[$i] == $tag_open) {
           
$in_tag++;
       } elseif (
$str[$i] == $tag_close) {
           if (
$in_tag 0) {
               
$in_tag--;
           }
       } else {
           if (
$in_tag == 0) {               
               
$segment_width++;
               if ((
$segment_width $cols) && ($str[$i] == " ")) {
                 
$str substr($str,0,$i).$cut.substr($str,$i+1,$str_len-1);
                 
$i += strlen($cut);
                 
$str_len strlen($str);
                 
$segment_width 0;
               }
           }
       }
   }
   return 
$str;
}


?>
__________________
Веб-студия ТТЛАБ
www.ttlab.ru
Valery Romanchev вне форума   Ответить с цитированием
Старый 07.10.2006, 16:36   #5
Pavel Antonov
Senior Member
 
Аватар для Pavel Antonov
 
Регистрация: 01.10.2004
Адрес: Россия, Москва
Сообщений: 1,204
Отправить сообщение для Pavel Antonov с помощью ICQ
По умолчанию

Цитата:
Сообщение от Tod
А с помощью там какого-то HTMLparser ничего сделать нельзя? может как-то тэги поубирать из текста просто... ? или точно нет?))
Убрать весь HTML очень просто: stdWrap.stripHtml = 1

А вот сделать crop и оставить HTML - это уже задача не простая.
__________________
Павел Антонов
Rich Media Development Ltd.
Блог: http://codeline.richmd.ru/
Pavel Antonov вне форума   Ответить с цитированием
Старый 07.10.2006, 18:35   #6
Tod
Senior Member
 
Аватар для Tod
 
Регистрация: 25.03.2006
Сообщений: 627
Отправить сообщение для Tod с помощью ICQ
По умолчанию

валерий, функцию подцепить так и не удалось... прописал как ты говорил - вылездла какая-то ошибка, да и работать в Ts она упорно отказывалась... в общем, проблема решена и разбираться где именно я ошибся при подключении пхп функции буду в другой раз
павел, спасибо! это именно то, что нужно!!!
__________________
Персональный блог про заработок в интернете + полезных блога про typo3 и wordpress
Tod вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 22:30.


Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot

Хостинг и техническая поддержка: TYPO3 Лаборатория