![]() |
Вопросы про устройство базы данных 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 создать так сказать внешнее подключение к БД - что бы он выбирал данные из двух и более БД? Может быть есть какое расширение? -- Спасибо за ответы. |
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 |
Спасибо за ответы.
|
Хотелось бы еще понять как работают переводы на другие языки и какие варианты переводов можно создать
|
Цитата:
|
Есть еще что нибудь из документаций по переводам?
|
|
Спасибо, это даже очень подходит!
|
Вложений: 1
Вопросик про связи:
в модуле список есть колонка Ref - связи - своего рода количество использования в других записях (картинка во вложении)... Это значение о количестве связей как понимаю typo3 пишет в БД таблицы sys_refindex? - или считает как-то по другому? -- Спасибо. |
Да, в sys_refindex
Если вы будет вставлять записи в таблицы "сырым" SQL кодом, а не через вызовы функций ядра, то связи не будут подсчитываться. |
Часовой пояс GMT +4, время: 23:44. |
Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot