Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   Как сделать поля с динамическим контентом? (http://forum.typo3.ru/showthread.php?t=8068)

SanderAMC 14.10.2009 17:02

Как сделать поля с динамическим контентом?
 
Добрый день.
Шаблоном сайта предусмотрены специальные два поля на каждой странице, в которые должны выводиться соответственно текст и ссылка на другую страницу сайта.

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

Названия полей Description Text и Description Link соответственно.
Как это можно сделать?

Я подозреваю, что можно в коде шаблона прописать присваивание значениям этих полей каких-то значений, взятых из хранилища. Но как реально это сделать, я пас..
Будь это просто работа с Dbase-подобной системой, то просто поставил-бы relation к базе и брал тек. значение по ссылке к названию базы и поля, а потом двигал указатель по рандому.
А здесь, видимо, так не получится.

Прошу помощи.

cherkatel 14.10.2009 17:46

собственно, изучайте ТС. В нем есть два замечательных объекта CONTENT и RECORDS

SanderAMC 14.10.2009 18:29

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

Может, у Вас найдется пример кода, который выбирает случайным образом записи из SysFolder или базы MySql и присваивает неким полям эти значения?

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

cherkatel 14.10.2009 20:04

Я, кстати (или некстати :) ), ошибся. В СКУЛ нет рандомной сортировки, так что ищите расширение в ТЕРе на random или random content. Но выбирать советую тщательно - многие из них некешируемые, т.е. сайт станет медленнее.

void 14.10.2009 22:46

ORDER BY RAND отменили?

SanderAMC 15.10.2009 10:21

Извините, а Вы с кем сейчас говорили? :)
Честно, ничего не понял.

Прошу, дайте кода кусок, иначе не справлюсь.:(

cherkatel 15.10.2009 11:20

тьфу, это называется не пользуйтесь справочниками многолетней давности:mad::mad::mad::mad:

из какой таблицы данные брать хотите? код будет типа такого
Код:

lib.snippet = CONTENT
lib.snippet {
    table = (ваша таблица)
    select{
        pidInList = (ваш пид)
        orderBy = RAND ()
        max = 1
    }
    renderObj {
      10 = TEXT
      10.field = title

    }
}


SanderAMC 15.10.2009 11:46

В идеале хотел брать данные из sql-таблицы, которую создам в существующей базе, названием, например: "my_table". В ней два поля, имена text и pid.

Далее, если посмотреть на страницу, раздел "дополнительно", то там будут два поля, озаглавленные в форме ввода Description Text и Description Link, и строки ввода данных в это поле. Если ввести значения, то для конкретной страницы появятся введенные значения. Именно их я хочу сделать динамическими.

Из базы по рандому должна выбираться запись и присваиваться этим полям соответственно (т.е., вместо ручного ввода). И так для кажной страницы, которая под этим шаблоном.

Как-то так.
Если можно брать исходную информацию из SysFolder, еще лучше.

SanderAMC 16.10.2009 16:16

Неужели никто не поможет?
Может, задача слишком много займет времени у спецов - я-ж не знаю..:confused:

cherkatel 16.10.2009 18:58

отвечено же уже, примерно так
Код:

ib.snippet = CONTENT
lib.snippet {
    table = my_table
    select{
        pidInList = my_pid
        orderBy = RAND ()
        max = 1
    }
    renderObj {
      10 = TEXT
      10.field = description_text
      10.typolink.parameter = {description.link}
      10.insertData = 1

    }
}

ПЫСЫ: pid - зарезервированное поле в таблицах тайпо3.
как сделать свою таблицу для ввода данных через записи в сисфолдере - читайте доку к kickstarter
ПЫСЫ2: для того, чтобы делать сайты на тайпе, надо учиться, учиться и учиться. ПХП знать не обязательно, но желательно. Точно надо знать ХТМЛ/ЦСС и желательно уметь писать селекты в СКУЛ. Собираетесь вы остановиться на единственном сайте или нет - увы неважно.


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

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