Показать сообщение отдельно
Старый 01.08.2007, 15:59   #3
mishas
Новенький
 
Регистрация: 08.02.2007
Сообщений: 8
Smile

Цитата:
Сообщение от Valery Romanchev Посмотреть сообщение
можно поискать в репозитории по слову tt_news - там есть пару десятков всяких экстеншенов - вполне может такой оказаться.

если там нет, то можно либо пропатчить.
Это довольно просто, особенно если мы считаем что Breaking News - это точно поледение несколько, т.е. они будут на первой странице LIST. у tt_news нормальный код)


Либо посмотреть как можно это сделать через TS - в tt_news много stdWrap'ов, к которым можно привязаться (т.е. менять код ссылки в LATEST, чтобы в URL вместо uid в стоке параметров - был якорь
)

Ну или по правилам сделать свой экст (это заметно сложнее)
День добрый спасибо за наводку , очень важно было узнать что более менее стандартного решения нет =).
Первый вариант с поиском готовых решений не прошол. Действительно есть множество расшерений на "новостную" тематику, но в их описании я не нашол тех возможностей что мне нужны.Вообщем, не нашол.

Третий вариант тоже оказался не результативным так как при всем множетстве стандрартных контейнеров для ссылок 'more' такового не оказалось =(

Зато второй вариант сработал =) вообщем в кратце так:

1. В новостном шаблоне есть маркер ###NEWS_UID### . Юзаем его для того что возле каждой новости создать якорь с её id.

2. В файле "\typo3conf\ext\tt_news\pi\class.tx_ttnews.php "
ищем вот этот кусочек кода:

PHP код:
 else {
   
$wrappedSubpartArray['###LINK_ITEM###'] = explode($token$this->pi_linkTP_keepPIvars($token, array('tt_news' => $row['uid'], 'backPid' => ($this->conf['dontUseBackPid']?null:$this->config['backPid'])), $this->allowCaching, ($this->conf['dontUseBackPid']?1:0), $singlePid));

                    
// fill the link string in a register to access it from TS
                    
$this->local_cObj->LOAD_REGISTER(array('newsMoreLink' => $this->pi_linkTP_keepPIvars($this->pi_getLL('more'), array('tt_news' => $row['uid'], 'backPid' => ($this->conf['dontUseBackPid']?null:$this->config['backPid'])), $this->allowCaching, ($this->conf['dontUseBackPid']?1:0), $singlePid)), '');
                } 
В нем строчку :

PHP код:
    $wrappedSubpartArray['###LINK_ITEM###'] = explode($token$this->pi_linkTP_keepPIvars($token, array('tt_news' => $row['uid'], 'backPid' => ($this->conf['dontUseBackPid']?null:$this->config['backPid'])), $this->allowCaching, ($this->conf['dontUseBackPid']?1:0), $singlePid)); 
меняем на что то типа :

PHP код:
        $wrappedSubpartArray['###LINK_ITEM###'] = explode($token,$this->pi_linkTP($token, array('#'=>'id_'.$row['uid']),0,$singlePid)); 
при этом якорь в файле шаблона новостей у меня оформлен так :
Код HTML:
<a name="=id_###NEWS_UID###" >	###NEWS_TITLE###  </a>
Ну вот вообщемто и всё , естественно обновлять расшерение при таком подходе противопаказанно =).

Последний раз редактировалось mishas; 01.08.2007 в 17:21 Причина: баг в коде
mishas вне форума   Ответить с цитированием