Russian TYPO3 community

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

Ивано 12.12.2012 16:09

Вопросы про устройство базы данных typo3
 
Добрый день.

Хотелось бы немного более детально понять суть концепции заложенной в использование БД-mysq.

А именно пять вопросов

1. Назначение префиксов таблиц (tt_, tx_ temp_, sys_ и других); и когда какой необходимо использовать?

2. Назначение отдельных колонок в таблицах;
(вот uid,pid,deleted,hidden,crdate - это и так ясно

а что значат и для чего используются:

-l18n_cfg
-l18n_parent
-l18n_diffsource
-t3ver_.,.
-cruser_id
- и другие распространенные служебные поля...

3. как работают переводы на другие языки и какие варианты переводов можно создать

4. в чем преимущество использования mm связей - и в чем удобство, или проще использовать обычное поле ссылки на родителя? (так понимаю что при mm одним запросом можно выбирать и категорию, и то что в ней содержится?)

5. А также есть ли Возможность в typo3 создать так сказать внешнее подключение к БД - что бы он выбирал данные из двух и более БД?
Может быть есть какое расширение?

--
Спасибо за ответы.

dmartynenko 13.12.2012 14:42

1. Разделять таблицы на классы и защититься от путаницы при установке других систем в ту же базу (если поставить phpbb в эту же базу, то его таблицы будут например phpbb_**). И, кажется мне, что функции t3lib_db делают проверки на префиксы (в частности tx_, который зарезирвирован для таблиц пользовательских плагинов). В TSRef точно есть упоминание про такие проверки. Именно поэтому нельзя с помощью TS.CONTENT выбрать записи из be_users (недавно обсуждалось на форуме).

В общем для удобства.

2+3.
l18n - сокращение от английского варианта слова "интернализация".
t3ver - для версионности, воркспейсов.
cruser_id - id BE пользователя, который создал запись

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

Реализация поддержки интернализации в FE требует доработки кода плагинов.

На всякий случай: http://www.slideshare.net/kfish/i18n-in-typo3-flow

4. mm = many to many. Одна новость может указывать на несколько категорий, и одна категория может относиться к нескольким новостям. Без промежуточной таблицы этого не сделать. В TYPO3 их обычно называют *_mm

5. Ядро точно не заставите видеть две базы. Это легко понять если глянуть код t3lib_db

Ивано 14.12.2012 16:25

Спасибо за ответы.

Ивано 18.12.2012 17:01

Хотелось бы еще понять как работают переводы на другие языки и какие варианты переводов можно создать

-=UncleByte=- 18.12.2012 22:01

Цитата:

Сообщение от Ивано (Сообщение 35259)
Хотелось бы еще понять как работают переводы на другие языки и какие варианты переводов можно создать

Настроить можно по-разному и принцип работы будет разный. Подробно описано в мануале Frontend Localization Guide (doc_l10nguide), заодно есть некоторое количество расширений и статей по ним - например languagevisibility помогает увеличить гибкость TV - http://www.typo3-media.com/blog/loca...n-secrets.html

Ивано 19.12.2012 12:21

Есть еще что нибудь из документаций по переводам?

dmartynenko 19.12.2012 13:06

http://typo3.org/documentation/docum...0n_ru/current/

Ивано 19.12.2012 15:04

Спасибо, это даже очень подходит!

Ивано 26.12.2012 17:04

Вложений: 1
Вопросик про связи:
в модуле список есть колонка Ref - связи - своего рода количество использования в других записях (картинка во вложении)...

Это значение о количестве связей как понимаю typo3 пишет в БД таблицы sys_refindex? - или считает как-то по другому?

--
Спасибо.

dmartynenko 26.12.2012 19:30

Да, в sys_refindex

Если вы будет вставлять записи в таблицы "сырым" SQL кодом, а не через вызовы функций ядра, то связи не будут подсчитываться.


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

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