Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   Вывод определенных новостей tt_news (http://forum.typo3.ru/showthread.php?t=4804)

Tod 16.10.2007 17:06

Вывод определенных новостей tt_news
 
Есть необходимость выводить новости, которые определяет пользователь через админку. То есть это эемент LIST, для которого явно нужно указать какие id новостей выводить.
Интересует есть ли модуль для этого?
1. Есть варинат создать категорию что-ти типа "новости на главной" и присваивать нужным новостям, но это нужно удалять старые, назначать новые. Хотелось бы в одном месте или через TS задать перечень и не мучаться:)
2. Делаю через RECORDS, но такая морока с этим:
- нужно учитывать куда переходят новости той или иной категории (сделал)
- нужно считывать картинку и уменьшать (идеи есть, но это гемороя столько)
- непонятно как правильно считать "текст подзаголовкка", в админке он разбит на абзацы, через ТS выводится сплошным текстом:(

Искать по tt_news в репозитории, ничего не нашел, увы. Может кто-то сталкивался с подобным заданием или что посоветуете предпринять?)

thebat 18.11.2007 20:08

Tod, как ты решил эту задачу или ты что-то нашел (ext) для решения этой задачи?

void 18.11.2007 20:39

Можно попробовать через контент-элемент insert records

thebat 18.11.2007 20:44

Пример TS есть...? К примеру мне нужно 5 записей новостей которые я укажу ...
uid_list = {$news_list}
где ... {$news_list} ... 1,2,3,4,5 и вывести их header (title)
может это...
Код:

temp.newsuid = RECORDS
temp.newsuid {
source.data = GPVar:tt_news
tables = tt_news
conf.tt_news = TEXT
conf.tt_news.field = title
}


void 18.11.2007 22:06

Insert Records - фактически, RECORDS, только вставленные в виде контент-элемента. Часть с conf вообще не нужна по-идее - при установке tt_news определяют элемент верхнего уровня tt_news, который будет использоваться для рендеринга RECORDS.

thebat 18.11.2007 23:29

Спасибо, Void!
Что-то из этого я понял, а что-то нет из того, что я понял, вышло вот это …смотри ниже.
Вот этот...
Код:

temp.myTest = RECORDS
temp.myTest {
source = 340,25,60,145,62
tables = tt_news
conf.tt_news = TEXT
conf.tt_news.field = title
conf.tt_news.wrap = <p>|</p>
}

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

void 19.11.2007 03:20

ну можно попробовать typolink... типа
typolink.parameter.data = TSFE:id
typolink.additionalParams = &tt_news[uid]={field:uid}
typolink.additionalParams.insertData = 1

Но вообще говоря для этого есть LIST/LATEST

thebat 19.11.2007 19:10

Поставил вот так...
Код:

temp.myTest = RECORDS
temp.myTest {
source = 340,25,60,145,62
tables = tt_news
conf.tt_news = TEXT
conf.tt_news.field = title
conf.tt_news.wrap = <p>|</p>
conf.tt_news.typolink.parameter.data = TSFE:id
conf.tt_news.typolink.additionalParams = &tt_news[uid]={field:uid}
conf.tt_news.typolink.additionalParams.insertData = 1
conf.tt_news.typolink.additionalParams.required = 1
}

Линк появился, но, к сожалению не правильный…
http://www.name.net/page1/?tt_news%5Buid%5D=57 ..., а должен быть такой ... http://www.name.net/page2/news/57/ ... номер записи новости определяется правильно, а вот страница на которой записана эта запись новости, определяется не правильно, почему?
У меня новости разбросаны по всем страницам …, как теперь сделать правильный линк?:confused:
Цитата:

Сообщение от void (Сообщение 16112)
Но вообще говоря для этого есть LIST/LATEST

Это понятно, так было бы очень хорошо, но как это сделать вот в чем вопрос?
Код:

temp.Articles < plugin.tt_news
temp.Articles {
code >
code = LIST
limit = 5
}

Как заставить эту конструкцию выводить 5 указанных мною записей?

thebat 20.11.2007 20:40

Проблема практически решена, за исключением одного …, но

…вот…
Код:

temp.myTest = RECORDS
temp.myTest {
source = 340,25,60,145,62
tables = tt_news
conf.tt_news = TEXT
conf.tt_news.field = title
conf.tt_news.wrap = <p>|</p>
conf.tt_news.typolink.parameter = 394
conf.tt_news.typolink.additionalParams = &tx_ttnews[uid]={field:uid}
conf.tt_news.typolink.additionalParams.insertData = 1
}

Одно, что не решено, связано с этим кусочком кода…
Код:

conf.tt_news.typolink.parameter = 394
Весь единичный показ новостей привязывается к этой (одной) странице, что мне совсем не подходит, потому, что у меня новости разбросаны по всем страницам сайта, не на одной… На той странице, где находятся записи новостей, там работает "code = LIST" и "code = SINGLE"
Вопрос:
Как ..., Что надо прописать, что бы здесь
Код:

conf.tt_news.typolink.parameter = 394
прописывался ID страницы выводимых указных мною
Код:

source = 340,25,60,145,62
UID новостей…?

shuman 21.11.2007 13:31

Интересно пройдет это?:
temp.myTest = RECORDS
temp.myTest {
renderObj = COA
renderObj {
2 = LOAD_REGISTER
2.MY_VALUE.field = pid
}
source = 340,25,60,145,62
tables = tt_news
conf.tt_news = TEXT
conf.tt_news.field = title
conf.tt_news.wrap = <p>|</p>
conf.tt_news.typolink.parameter = register:MY_VALUE
conf.tt_news.typolink.additionalParams = &tx_ttnews[uid]={field:uid}
conf.tt_news.typolink.additionalParams.insertData = 1
}

dmartynenko 21.11.2007 15:36

Цитата:

Сообщение от thebat (Сообщение 16164)
Как ..., Что надо прописать, что бы здесь
Код:

conf.tt_news.typolink.parameter = 394
прописывался ID страницы выводимых указных мною
Код:

source = 340,25,60,145,62
UID новостей…?

Но ведь сами новости "не знают", на какой странице они выводятся, тем более что они обычно хранятся на страницах типа "Системная директория".

А как вы выводите разные новости на разных страницах?
Если отбором по категориям, то может и где-то и прописать соответствие категория новости <-> страница отображения?

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

shuman 21.11.2007 16:27

Цитата:

Сообщение от dmartynenko (Сообщение 16180)
Но ведь сами новости "не знают", на какой странице они выводятся, тем более что они обычно хранятся на страницах типа "Системная директория".

А как вы выводите разные новости на разных страницах?
Если отбором по категориям, то может и где-то и прописать соответствие категория новости <-> страница отображения?

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

почему же - thebat написал что новости разбросаны по страницам на которых есть LIST и SINGLE - так что осталось pid использовать

thebat 21.11.2007 21:11

Цитата:

Сообщение от shuman (Сообщение 16171)
Код:

Интересно пройдет это?:
temp.myTest = RECORDS
...
renderObj {
2 = LOAD_REGISTER
2.MY_VALUE.field = pid
}
...
conf.tt_news.typolink.parameter = register:MY_VALUE
...
}


Нет не проходит. Это тупо в ссылке выводит во это "register:MY_VALUE".
Может надо поиграться этим "2 = LOAD_REGISTER"? Одним словом это не работает... Надо найти, что-то другое, может у кого-то есть еще какие-то предложения на этот счет?

Pavel Antonov 22.11.2007 02:39

conf.tt_news.typolink.parameter.data = register:MY_VALUE

thebat 22.11.2007 16:59

Цитата:

Сообщение от Pavel Antonov (Сообщение 16193)
... .parameter.data = ...

Нет, это тоже ничего не дало, ссылка вообще исчезла …
Я знаю, что решение есть, но вот как это решить, пока не знаю…???:confused:

thebat 15.12.2007 20:10

Все спасибо!
 
Все спасибо! Задача решена.
Код:

typolink.parameter = TEXT
typolink.parameter.field = pid
typolink.parameter.insertData = 1
typolink.additionalParams = &tx_ttnews[tt_news]={field:uid}
typolink.additionalParams.insertData = 1



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

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