SlideShare ist ein Scribd-Unternehmen logo
1 von 67
Downloaden Sie, um offline zu lesen
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Íîâîââåäåíèÿ, èçìåíåíèÿ è èñïðàâëåíèÿ
Àâòîðû:
Patrick Lobacher b Michael Schams
12/May/2015
Creative Commons BY-NC-SA 3.0
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Îáçîð ãëàâ
Ââåäåíèå
Backend / Âíóòðåííèé èíòåðôåéñ
TScong è TypoScript
Ãëóáèííûå èçìåíåíèÿ
Extbase  Fluid
Óñòàðåâøèå/óäàëåííûå ôóíêöèè
Èñòî÷íèêè è àâòîðû
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Ââåäåíèå
Ââåäåíèå
Ôàêòû
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Ââåäåíèå
TYPO3 CMS 7.2 - ôàêòû
Äàòà âûõîäà: 28 April 2015
Òèï: Sprint Release
Âèäåíèå: îõâàò, èííîâàöèè, äîñòóïíîñòü
Ôîêóñ: Âíåøíèé èíòåðôåéñ / Frontend
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Ââåäåíèå
Ñèñòåìíûå òðåáîâàíèÿ
PHP*: 5.5.0 - 5.6.x
MySQL: 5.5.x - 5.6.x (no strict mode)
Äèñêîâîå ïðîñòðàíñòâî: 200 ÌÁ ìèí.
PHP íàñòðîéêè:
memory_limit = 128M
max_execution_time = 240s
compilation option disable-ipv6 íå äîëæíî èñïîëüçîâàòüñÿ
Âíóòðåííèé èíòåðôåéñ òðåáóåò IE = 9 èëè ëþáîé äðóãîé
ñîâðåìåííûé áðàóçåð
*) Ïîäðîáíîñòè: PHP Minimum Requirements for TYPO3 CMS 7
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Ââåäåíèå
Ãðàôèê ðàçðàáîòêè è âûõîäà
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Ââåäåíèå
TYPO3 CMS äîðîæíàÿ êàðòà
Ïðèìåðíûå äàòû âûõîäà è èõ îñíîâíîé ôîêóñ:
v7.0 02/äåê/2014 Ïåðåðàáîòêà âíóòðåííåãî èíòåðôåéñà ÷àñòü 1
v7.1 24/ôåâ/2015 ×èñòêà ÿäðà è îïòèìèçàöèÿ
v7.2 28/àïð/2015 Âíåøíèé èíòåðôåéñ
v7.3 09/èþíü/2015 Ýêîñèñòåìà ïàêåòîâ, Composer
è ðàáîòà ñ ðàñøèðåíèÿìè
v7.4 04/àâã/2015 Backend Overhaul Vol 2
v7.5 29/ñåí/2015 (áóäåò îïðåäåëåíî...)
v7.6 xx/xxx/2015 TYPO3 CMS 7 LTS (Long Term Release)
https://typo3.org/typo3-cms/roadmap/
http://typo3.org/news/article/embrace-and-innovate-typo3-cms-7/
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Ââåäåíèå
Óñòàíîâêà
Îôèöèàëüíàÿ ïðîöåäóðà óñòàíîâêè ïîä Linux/Mac OS X
(DocumentRoot, íàïðèìåð, /var/www/site/htdocs):
$ cd /var/www/site
$ wget --content-disposition get.typo3.org/7.2
$ tar xzf typo3_src-7.2.0.tar.gz
$ cd htdocs
$ ln -s ../typo3_src-7.2.0 typo3_src
$ ln -s typo3_src/index.php
$ ln -s typo3_src/typo3
$ touch FIRST_INSTALL
Symbolic links ïîä Microsoft Windows:
Èñïîëüçóéòå junction ïîä Windows XP/2000
Èñïîëüçóéòå mlink ïîä Windows Vista è Windows 7
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Ââåäåíèå
Îáíîâëåíèå äî TYPO3 CMS 7.x
Îáíîâëåíèå âîçìîæíî ëèøü ñ TYPO3 CMS 6.2 LTS
TYPO3 CMS  6.2 äîëæíû áûòü îáíîâëåíû ñíà÷àëà äî TYPO3
CMS 6.2 LTS
Èíñòðóêöèè ïî îáíîâëåíèþ:
http://wiki.typo3.org/Upgrade#Upgrading_to_7.2
Îôèöèàëüíîå ðóêîâîäñòâî TYPO3 TYPO3 Installation and
Upgrading: http://docs.typo3.org/typo3cms/InstallationGuide
Îáùèé ïîäõîä:
Ïðîâåðêà ìèíèìàëüíûõ ñèñòåìíûõ òðåáîâàíèé (PHP, MySQL, etc.)
Ïðîñìîòð deprecation_*.log â ñòàðîé âåðñèè TYPO3
Îáíîâëåíèå âñåõ ðàñøèðåíèé äî ïîñëåäíåé âåðñèè
Çàãðóçêà íîâûõ èñõîäíûõ ôàéëîâ è çàïóñê Install Tool Upgrade
Wizard
Çàïóñê ìîäóëÿ îáçîðà äëÿ âíóòðåííèõ ïîëüçîâàòåëåé (îïöèîíàëüíî)
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Backend / Âíóòðåííèé èíòåðôåéñ
Ãëàâà 1:
Backend / Âíóòðåííèé èíòåðôåéñ
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Backend / Âíóòðåííèé èíòåðôåéñ
Íàñòðàèâàåìàÿ ôîðìà àâòîðèçàöèè
Ñèñòåìíîå ðàñøèðåíèå backend ïîçâîëÿåò àäìèíèñòðàòîðàì
óñòàíàâëèâàòü ôîíîâîå èçîáðàæåíèå, ëîãîòèï è öâåò ýêðàíà
àâòîðèçàöèè âî âíóòðåííåì èíòåðôåéñå:
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Backend / Âíóòðåííèé èíòåðôåéñ
Ðàáîòà ñ èçîáðàæåíèÿìè: îáðåçêà
Ôóíêöèîíàë ðàáîòû ñ èçîáðàæåíèÿìè ïîçâîëÿåò ðåäàêòîðàì îáðåçàòü
èçîáðàæåíèÿ âî âíóòðåííåì èíòåðôåéñå. Ýòà âîçìîæíîñòü äîëæíà
áûòü ïðèíóäèòåëüíî óñòàíîâëåíà äëÿ ïîëüçîâàòåëåé âíóòðåííåãî
èíòåðôåéñà (Exclude Fields / Ïîëÿ èñêëþ÷åíèÿ):
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Backend / Âíóòðåííèé èíòåðôåéñ
Ãðóïïû âíóòðåííèõ ïîëüçîâàòåëåé
Òåïåðü óïðàâëÿòü ãðóïïàìè âíóòðåííèõ ïîëüçîâàòåëåé âîçìîæíî èç
ïîäìîäóëÿ ìîäóëÿ Âíóòðåííèå ïîëüçîâàòåëè / Backend Users:
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Backend / Âíóòðåííèé èíòåðôåéñ
Îòêëþ÷åíèå àâòîìàòè÷åñêîé óñòàíîâêè ðàñøèðåíèé
Àäìèíèñòðàòîðû ìîãóò íàñòðîèòü ìîäóëü Óïðàâëåíèÿ ðàñøèðåíèÿìè
íå óñòàíàâëèâàòü çàãðóæåííûå ðàñøèðåíèÿ ñðàçó æå:
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Backend / Âíóòðåííèé èíòåðôåéñ
Îñòàâøååñÿ êîëè÷åñòâî ââîäèìûõ â òåêñòîâûå ïîëÿ ñèìâîëîâ
Êîëè÷åñòâî îñòàâøèõñÿ äëÿ ââîäà ñèìâîëîâ òåïåðü îòîáðàæàåòñÿ ïîä
òåêñòîâûìè ïîëÿìè ââîäà:
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Backend / Âíóòðåííèé èíòåðôåéñ
Ïîäòâåðæäåíèå íåñîõðàí¼ííûõ èçìåíåíèé
Íîâûé äèàëîã íàïîìèíàåò ðåäàêòîðàì î âîçìîæíîñòè ïîòåðè
íåñîõðàí¼ííûõ èçìåíåíèé:
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Backend / Âíóòðåííèé èíòåðôåéñ
Ìåíþ ñ ñèñòåìíîé èíôîðìàöèåé
Âûïàäàþùåå ìåíþ âûâîäèò íåêóþ èíôîðìàöèþ îá óñòàíîâëåííîé
ñèñòåìå TYPO3. Äàííûå ýòîãî äèàëîãà ìîæíî äîïîëíèòü:
(îáðàòèòåñü ê ãëàâå Ãëóáèííûå èçìåíåíèÿ)
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Backend / Âíóòðåííèé èíòåðôåéñ
Èçìåíåíèå ïàðîëÿ
Âíóòðåííèå ïîëüçîâàòåëè âûíóæäåíû èçìåíèòü òåêóùèé (ñòàðûé)
ïàðîëü íà íîâûé:
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Backend / Âíóòðåííèé èíòåðôåéñ
Çíà÷îê ñòðàíèöû Âûâåñòè ñîäåðæèìîå ñî ñòðàíèöû / Show Content from Page
Íîâûé çíà÷îê â äåðåâå ñòðàíèö äëÿ óêàçàíèÿ ñòðàíèö, âûâîäÿùèõ
ñîäåðæèìîå äðóãèõ ñòðàíèö:
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Backend / Âíóòðåííèé èíòåðôåéñ
Îáíîâëåíèå ðàñøèðåíèé
Ïðè îáíîâëåíèè ðàñøèðåíèé òåïåðü åñòü âîçìîæíîñòü âûáîðà íóæíîé
âåðñèè:
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Backend / Âíóòðåííèé èíòåðôåéñ
Çàäà÷à äëÿ Êîðçèíû / Recycler
Íîâàÿ çàäà÷à â ïëàíèðîâùèêå äëÿ ñèñòåìíîãî ðàñøèðåíèÿ recycler
óäàëÿåò ïîìå÷åííûå êàê óäàë¼ííûå çàïèñè èç òàáëèö áàçû äàííûõ. Â
çàäà÷å íàñòðàèâàþòñÿ ìàêñèìàëüíûé âîçðàñò è çàäåéñòâîâàííûå
òàáëèöû.
Òî æå ìîæåò áûòü ïðèìåíèìî è ê ôàéëàì, åñëè íà íèõ ññûëàþòñÿ â
ýëåìåíòå ñîäåðæèìîãî.
TYPO3 CMS 7.2 - îáíîâëåíèÿ
TScong è TypoScript
Ãëàâà 2:
TScong è TypoScript
TYPO3 CMS 7.2 - îáíîâëåíèÿ
TScong è TypoScript
Ãèáêàÿ íàñòðîéêà ïðîñìîòðà URL (1)
Òåïåðü âîçìîæíî íàñòðîèòü ïðîñìîòð ññûëîê, ôîðìèðóåìûõ äëÿ
êíîïêè
ñîõðàíèòü è ïðîñìîòðåòü / save  view âíóòðåííåãî èíòåðôåéñà.
Ðàçðàáàòûâàëîñü, êàê âîçìîæíîñòü ïðåäïðîñìîòðà äëÿ çàïèñåé
íîâîñòåé èëè áëîãà, íî ìîæíî îïðåäåëèòü ðàçíûå ñòðàíèöû äëÿ
ïðåäïðîñìîòðà îáû÷íûõ ýëåìåíòîâ ñîäåðæèìîãî.
TCEMAIN. preview {
table name {
previewPageId = 123
useDefaultLanguageRecord = 0
fieldToParameterMap {
uid = tx_myext_pi1[showUid]
}
additionalGetParameters {
tx_myext_pi1[ special ] = HELLO
}
}
}
TYPO3 CMS 7.2 - îáíîâëåíèÿ
TScong è TypoScript
Ãèáêàÿ íàñòðîéêà ïðîñìîòðà URL (2)
previewPageId:
UID ñòðàíèöû, èñïîëüçóåìîé äëÿ ïðåäïðîñìîòðà
(åñëè íå óêàçàíî, èñïîëüçóåòñÿ òåêóùàÿ ñòðàíèöà)
useDefaultLanguageRecord:
óêàçûâàåò, ÷òî çàïèñü ïåðåâîäà áóäåò èñïîëüçîâàòü UID çàïèñè ïî
óìîë÷àíèþ
(ïî óìîë÷àíèþ çàäåéñòâîâàíî, çíà÷åíèå: 1)
eldToParameterMap:
ðàçìåòêà, ïîçâîëÿþùàÿ âûáðàòü ïîëÿ çàïèñè, âêëþ÷àåìûå â âèäå
ïàðàìåòðîâ GET
additionalGetParameters:
ïîçâîëÿåò äîáàâèòü ïðîèçâîëüíûå ïàðàìåòðû GET è äàæå èõ
ïåðåíàçíà÷èòü
TYPO3 CMS 7.2 - îáíîâëåíèÿ
TScong è TypoScript
Íàñòðîéêà RTE: öåëü ïî óìîë÷àíèþ
Ñâîéñòâî íàñòðîåê RTE äëÿ PageTScong ïîçâîëÿåò íàñòðîèòü
öåëü ïî óìîë÷àíèþ äëÿ ññûëîê ðàçëè÷íîãî òèïà
buttons.link.[ type ].properties.target.default = ...
Âîçìîæíûå òèïû ññûëîê:
(äðóãèå ìîãóò áûòü äîáàâëåíû ÷åðåç ðàñøèðåíèÿ)
page
le
url
mail
spec
TYPO3 CMS 7.2 - îáíîâëåíèÿ
TScong è TypoScript
Óäàëåíèå ïóñòûõ òåãîâ HTML â HTMLparser
 HTMLparser ïðèìåíÿåòñÿ íîâûé ôóíêöèîíàë, ïîçâîëÿþùèé
óäàëÿòü ïóñòûå òåãè HTML
stdWrap {
// this removes a l l empty HTML tags
HTMLparser. stripEmptyTags = 1
// this removes empty h2 and h3 tags only
HTMLparser. stripEmptyTags . tags = h2, h3
}
RTE. default . proc .entryHTMLparser_db {
stripEmptyTags = 1
stripEmptyTags . tags = p
stripEmptyTags . treatNonBreakingSpaceAsEmpty = 1
}
Note: HTMLparser ïî óìîë÷àíèþ óäàëÿåò âñå èçâåñòíûå òåãè.
Ïîýòîìó èíîãäà ïîëåçíî áóäåò îñòàâÿòü âñå íåèçâåñòíûå:
HTMLparser.keepNonMatchedTags = 1
TYPO3 CMS 7.2 - îáíîâëåíèÿ
TScong è TypoScript
Äðóãîå
Äëÿ íàñòðîéêè äèàëîãà àááðåâèàòóð â PageTScong ìîæíî
âîñïîëüçîâàòüñÿ íîâûì ñâîéñòâîì
buttons.abbreviation.removeFieldsets
# Possible values are:
# acronym, definedAcronym, abbreviation , definedAbbreviation
buttons.abbreviation.removeFieldsets = acronym,definedAcronym
Ñâîéñòâî inlineLanguageLabel îáúåêòà PAGE òåïåðü ìîæåò
îáðàáàòûâàòü
LLL: ññûëêè
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Ãëóáèííûå èçìåíåíèÿ
Ãëàâà 3:
Ãëóáèííûå èçìåíåíèÿ
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Ãëóáèííûå èçìåíåíèÿ
Ïîääåðæêà SVG â ÿäðå
ßäðî TYPO3 CMS òåïåðü ïîääåðæèâàåò èçîáðàæåíèÿ SVG
(Scalable Vector Graphics)
Ïðè ìàñøòàáèðîâàíèè èçîáðàæåíèÿ SVG, âìåñòî ñîçäàíèÿ
èçìåí¼ííîãî ôàéëà, çàïèñü ñ âû÷èñëåííûìè íîâûìè ðàçìåðàìè
ñîõðàíÿåòñÿ â sys_le_processedle
(åñëè òîëüêî èçîáðàæåíèå íå îáðàáàòûâàåòñÿ äàëåå, íàïðèìåð,
îáðåçàåòñÿ).
Äîáàâëåíà âîçìîæíîñòü óêàçàíèÿ ðàçìåðîâ SVG äëÿ ñëó÷àÿ,
êîãäà ImageMagick/GraphicsMagick íå ìîæåò îïðåäåëèòü èõ
ñàìîñòîÿòåëüíî. Ïðè ýòîì ÷èòàåòñÿ ñîäåðæèìîå ôàéëà XML.
SVG òàêæå áûë äîáàâëåí ê ñïèñêó ðàñøèðåíèé ôàéëîâ äëÿ
èçîáðàæåíèé:
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagele_ext']
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Ãëóáèííûå èçìåíåíèÿ
Ðàñøèðåííûé äðàéâåð FAL
Äëÿ èñïðàâëåíèÿ ïðîèçâîäèòåëüíîñòè ïðè âûâîäå ñïèñêà
(óäàë¼ííûõ) õðàíèëèù, äðàéâåð FAL äîëæåí ïîçàáîòèòüñÿ îá
óïîðÿäî÷èâàíèè, ñîðòèðîâêå è ïîäñ÷¼òå ôàéëîâ/ïàïîê. Áûëè
äîáàâëåíû äâà íîâûõ ïàðàìåòðà sort è sortRev ïîçâîëÿþùèõ:
public function getFilesInFolder ( $folderIdentifier , $start = 0 , $numberOfItems = 0 ,
$recursive = FALSE, array $filenameFilterCallbacks = array () , $sort = ' ' , $sortRev
= FALSE) ;
public function getFoldersInFolder ( $folderIdentifier , $start = 0 , $numberOfItems = 0 ,
$recursive = FALSE, array $folderNameFilterCallbacks = array () , $sort = ' ' ,
$sortRev = FALSE) ;
Áûëè òàêæå ðåàëèçîâàíû äâà íîâûõ ìåòîäà:
public function getFilesInFolderCount( $folderIdentifier , $recursive = FALSE,
array $filenameFilterCallbacks = array () ) ;
public function getFoldersInFolderCount( $folderIdentifier , $recursive = FALSE,
array $folderNameFilterCallbacks = array () ) ;
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Ãëóáèííûå èçìåíåíèÿ
Backend Routing API (1)
Áûëà ñîçäàíà Backend Routing API, óïðàâëÿþùàÿ òî÷êàìè
âíóòðåíí òî÷êàìè âõîäà / Entry Points
 îñíîâå âçÿòà Symfony Routing Framework, è ýòîò API â
çíà÷èòåëüíîé ñòåïåíè ñîâìåñòèìà ñ íèì
(õîòÿ ñåé÷àñ TYPO3 èñïîëüçóåò ïðèìåðíî å¼ 20%)
Îñíîâíûå ôóíêöèè ðåàëèçóþò òðè êëàññà:
class Route: ñîäåðæèò äàííûå î ïóòÿõ è ïàðàìåòðàõ
class Router: API äëÿ ñîïîñòàâëåíèÿ ìàðøðóòà
class UrlGenerator: ôîðìèðóåò URL
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Ãëóáèííûå èçìåíåíèÿ
Backend Routing API (2)
Ìàðøðóòû îïðåäåëÿþòñÿ â ñëåäóþùåì ôàéëå ðàñøèðåíèÿ:
Conguration/Backend/Routes.php
(â êà÷åñòâå ïðèìåðà ñìîòðèòå ñèñòåìíîå ðàñøèðåíèå backend)
Äîïîëíèòåëüíûå ñâåäåíèÿ îá Backend Routing API:
http://wiki.typo3.org/Blueprints/BackendRouting
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Ãëóáèííûå èçìåíåíèÿ
Íîâîå ñèñòåìíîå ðàñøèðåíèå äëÿ ìåäèà ýëåìåíòîâ ñîäåðæèìîãî
Íîâîå ñèñòåìíîå ðàñøèðåíèå mediace ñîäåðæèò ñëåäóþùèå
cObjects:
MULTIMEDIA
MEDIA
SWFOBJECT
FLOWPLAYER
QTOBJECT
Ýëåìåíòû ñîäåðæèìîãî media è multimedia òàêæå áûëè ïåðåíåñåíû
â ýòî ñèñòåìíîå ðàñøèðåíèå íàðÿäó ñ Media Wizard Provider
Ýòî ðàñøèðåíèå ïî óìîë÷àíèþ íå óñòàíàâëèâàåòñÿ!
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Ãëóáèííûå èçìåíåíèÿ
Ìåñòîïîëîæåíèå ñòîðîííèõ áèáëèîòåê
Òåïåðü óñòàíàâëèâàåìûå ÷åðåç Composer ñòîðîííèå áèáëèîòåêè
ðàñïîëàãàþòñÿ ïîä typo3/contrib/vendor
(TYPO3 CMS  7.2: â ïàïêå Packages/Libraries)
Òàêèì îáðàçîì, ïðîöåññ óïàêîâêè äëÿ âûïóñêà TYPO3 CMS â
âèäå tarball èëè zip ìîæíî ïåðåêëþ÷èòü íà ïîëíîñòüþ
ðàáî÷óþ óñòàíîâêó, áåç íåîáõîäèìîñòè çàãðóçêè ïàêåòîâ/ äëÿ
ñòîðîííèõ áèáëèîòåê
Ïðè óñòàíîâêå ìîãóò ïðîèçîéòè ïðîáëåìû, åñëè íàñòðîéêè
äåëàëèñü ÷åðåç composer ñ èñïîëüçîâàíèåì phpunit, íåñìîòðÿ
íà òî, ÷òî çàâèñèìîñòè áûëè ïîëíîñòüþ èñïðàâëåíû. Äëÿ
èñïðàâëåíèÿ âûïîëíèòå:
# cd htdocs/
# rm -rf typo3/contrib/vendor/ bin/ Packages/Libraries/ composer.lock
# composer install
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Ãëóáèííûå èçìåíåíèÿ
Óâåäîìëåíèÿ JavaScript
Èñïîëüçóåòñÿ íîâûé API JavaScript óâåäîìëåíèé:
// old and deprecated:
top.TYPO3.Flashmessages.display(TYPO3.Severity.notice)
// new and the only correct way since TYPO3 CMS 7.2:
top.TYPO3. Notification .notice(title , message)
Èìåþòñÿ ñëåäóþùèå ôóíêöèè API:
(ïàðàìåòð duration íåîáÿçàòåëåí, çíà÷åíèå ïî óìîë÷àíèþ 5 ñåêóíä)
top.TYPO3.Notication.notice(title, message, duration)
top.TYPO3.Notication.info(title, message, duration)
top.TYPO3.Notication.success(title, message, duration)
top.TYPO3.Notication.warning(title, message, duration)
top.TYPO3.Notication.error(title, message, duration)
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Ãëóáèííûå èçìåíåíèÿ
Âûïàäàþùèé ñïèñîê ñèñòåìíîé èíôîðìàöèè (1)
Âîçìîæíî äîáàâèòü ýëåìåíòû ñèñòåìíîé èíôîðìàöèè ê
âûïàäàþùåìó ñïèñêó, ïóò¼ì ñîçäàíèÿ ñëîòà
Ñëîò íåîáõîäèìî çàðåãèñòðèðîâàòü â ôàéëå ext_localconf.php:
$signalSlotDispatcher = TYPO3CMSCoreUtilityGeneralUtility : : makeInstance(
TYPO3CMSExtbaseSignalSlotDispatcher : : class ) ;
$signalSlotDispatcher-connect(
TYPO3CMSBackendBackendToolbarItemsSystemInformationToolbarItem : : class ,
' getSystemInformation ' ,
VendorExtensionSystemInformationItem : : class ,
'getItem '
) ;
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Ãëóáèííûå èçìåíåíèÿ
Âûïàäàþùèé ñïèñîê ñèñòåìíîé èíôîðìàöèè (2)
Âîçìîæíî äîáàâèòü ýëåìåíòû ñèñòåìíîé èíôîðìàöèè ê
âûïàäàþùåìó ñïèñêó, ïóò¼ì ñîçäàíèÿ ñëîòà
Íåîáõîäèì êëàññ Item ñ ìåòîäàìè getItem() â ôàéëå
EXT:extensionClassesSystemInformationItem.php:
class Item {
public function getItem () {
return array(array(
' t i t l e ' = 'The t i t l e shown on hover ' ,
' value ' = ' Description shown in the l i s t ' ,
' status ' = SystemInformationHookInterface : :STATUS_OK,
'count ' = 4 ,
' icon ' = TYPO3CMSBackendUtilityIconUtility : : getSpriteIcon (
' extensions -example- information - icon ' )
) ) ;
}
}
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Ãëóáèííûå èçìåíåíèÿ
Âûïàäàþùèé ñïèñîê ñèñòåìíîé èíôîðìàöèè (3)
Çíà÷îê extensions-example-information-icon äîëæåí áûòü
çàðåãèñòðèðîâàí â ext_localconf.php:
TYPO3CMSBackendSpriteSpriteManager : : addSingleIcons (
array(
' information - icon ' = TYPO3CMSCoreUtilityExtensionManagementUtility : :
extRelPath(
$_EXTKEY) . ' Resources/Public/Images/Icons/information - icon .png'
) ,
$_EXTKEY
) ;
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Ãëóáèííûå èçìåíåíèÿ
Âûïàäàþùèé ñïèñîê ñèñòåìíîé èíôîðìàöèè (4)
Ñîîáùåíèÿ âûâîäÿòñÿ â íèæíåé ÷àñòè âûïàäàþùåãî ñïèñêà
Ðàñøèðåíèÿ ìîãóò äîáàâëÿòü ñâîè ñëîòû ñ èíôîðìàöèåé:
$signalSlotDispatcher = TYPO3CMSCoreUtilityGeneralUtility : : makeInstance(
TYPO3CMSExtbaseSignalSlotDispatcher : : class ) ;
$signalSlotDispatcher-connect(
TYPO3CMSBackendBackendToolbarItemsSystemInformationToolbarItem : : class ,
'loadMessages ' ,
VendorExtensionSystemInformationMessage : : class ,
'getMessage '
) ;
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Ãëóáèííûå èçìåíåíèÿ
Âûïàäàþùèé ñïèñîê ñèñòåìíîé èíôîðìàöèè (5)
Ñîîáùåíèÿ âûâîäÿòñÿ â íèæíåé ÷àñòè âûïàäàþùåãî ñïèñêà
Íåîáõîäèì êëàññ Message ñ ìåòîäîì getMessage() â ôàéëå
EXT:extensionClassesSystemInformationMessage.php:
class Message {
public function getMessage() {
return array(array(
' status ' = SystemInformationHookInterface : :STATUS_OK,
' text ' = 'Something went wrong. Take a look at the reports module. '
) ) ;
}
}
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Ãëóáèííûå èçìåíåíèÿ
Ïàðàìåòðû íàñòîéêè äëÿ èçìåíåíèÿ èçîáðàæåíèé (1)
Äîñòóïíû ñëåäóþùèå ïàðàìåòðû íàñòðîéêè TypoScript:
# disable cropping for all images
tt_content.image.20.1. file .crop =
# override or set cropping for all images
# offsetX ,offsetY ,width,height
tt_content.image.20.1. file .crop = 50,50,100,100
Fluid òàêæå ïîääåðæèâàåò ôóíêöèè îáðåçêè:
# disable cropping for all images
f :image image={imageObject} crop= /f :image
# override or set cropping for all images
# offsetX ,offsetY ,width,height
f :image image={imageObject} crop=50,50,100,100 /f :image
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Ãëóáèííûå èçìåíåíèÿ
Ïàðàìåòðû íàñòîéêè äëÿ èçìåíåíèÿ èçîáðàæåíèé (2)
TCA òàêæå ïîääåðæèâàåò ôóíêöèè îáðåçêè èçîáðàæåíèé:
Column Type: image_manipulation
Cong le_eld: string (default: uid_local)
Cong enableZoom: boolean (default: FALSE)
Cong allowedExtensions: string
(default: $GLOBALS['TYPO3_CONF_VARS']['GFX']['imagele_ext'])
Cong ratios: array, default:
array(
'1.7777777777777777' = '16:9',
'1.3333333333333333' = '4:3 ' ,
'1' = '1:1 ' ,
'NaN' = 'Free'
)
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Ãëóáèííûå èçìåíåíèÿ
Äîïîëíèòåëüíûå ïàðàìåðòû äëÿ HTMLparser userFunc
 userFunc äëÿ HTMLparser ìîãóò áûòü ïåðåäàíû äîïîëíèòåëüíûå
ïàðàìåòðû:
myobj = TEXT
myobj. value = a href=/ class=myclassMyText/a
myobj.HTMLparser. tags . a . fixAttrib . class {
userFunc = TxMyExtMyclass-htmlUserFunc
userFunc .myparam = test
}
Äîñòóï ê ýòèì ïàðàìåòðàì â ðàñøèðåíèÿõ ïðîèñõîäèò òàê:
function htmlUserFunc(array $params, HtmlParser $htmlParser) {
// $params[ ' attributeValue ' ] contains the attribute value myclass
// $params[ 'myparam' ] i s set to test in this example
. . .
}
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Ãëóáèííûå èçìåíåíèÿ
Locking API (1)
Áûë ïðåäñòàâëåí íîâûé API áëîêèðîâêè, ïðåäîñòàâëÿþùèé
ðàçíûå ìåòîäû áëîêèðîâêè (SimpleFile, Semaphore, ...)
Ìåòîä áëîêèðîâêè äîëæåí ðåàëèçîâûâàòü LockingStrategyInterface:
$lockFactory = GeneralUtility ::makeInstance(LockFactory:: class);
$locker = $lockFactory-createLocker( 'someId') ;
$locker-acquire() || die('Could not acquire lock. ') ;
...
$locker-release() ;
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Ãëóáèííûå èçìåíåíèÿ
Locking API (2)
Íåêîòîðûå ìåòîäû òàêæå ïîääåðæèâàþò íå áëîêèðóþùèå
îñòàíîâêè:
$lockFactory = GeneralUtility : : makeInstance(LockFactory : : class ) ;
$locker = $lockFactory-createLocker (
'someId' ,
LockingStrategyInterface : :LOCK_CAPABILITY_SHARED |
LockingStrategyInterface : :LOCK_CAPABILITY_NOBLOCK
) ;
try {
$result = $locker-acquire ( LockingStrategyInterface : :LOCK_CAPABILITY_SHARED |
LockingStrategyInterface : :LOCK_CAPABILITY_NOBLOCK) ;
catch (RuntimeException $e) {
i f ($e-getCode() === 1428700748) {
// some process owns the lock
// let ' s do something else meanwhile
. . .
}
}
i f ( $result ) {
$locker-release () ;
}
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Ãëóáèííûå èçìåíåíèÿ
Ñèãíàë ïîñëå óñòàíîâêè ðàñøèðåíèÿ
Áûë ðåàëèçîâàí íîâûé ñèãíàë â ìåòîäå
TYPO3CMSExtensionmanagerUtilityInstallUtility::install()
âîçíèêàþùèé ïîñëå óñòàíîâêè ðàñøèðåíèÿ è çàâåðøåíèÿ
âñåãî èìïîðòà/îáíîâëåíèÿ
// execution
$this-emitAfterExtensionInstallSignal ($extensionKey) ;
// methode
protected function emitAfterExtensionInstallSignal ($extensionKey) {
$this-signalSlotDispatcher-dispatch (
__CLASS__,
' afterExtensionInstall ' ,
array($extensionKey , $this )
) ;
}
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Ãëóáèííûå èçìåíåíèÿ
Ðååñòð äëÿ èçâëå÷åíèÿ òåêñòà (1)
Âîçìîæíà ðåãèñòðàöèÿ íåñêîëüêèõ äîáûò÷èêîâ òåêñòîâ äëÿ ðàáîòû
ñ ðàçíûìè òèïàìè ôàéëîâ (íàïðèìåð, Oce, PDF è ò. ï.)
ßäðî TYPO3 óìååò èçâëåêàòü òåêñòû èç îáû÷íûõ òåêñòîâûõ
ôàéëîâ
Êàæäûé ðåãèñòðèðóåìûé êëàññ äîáûò÷èêà äîëæåí ðåàëèçîâûâàòü
TextExtractorInterface
... ñî ñëåäóþùèìè ìåòîäàìè:
canExtractText()
ïðîâåðÿåò âîçìîæíîñòü èçâëå÷åíèÿ òåêñòà èç óêàçàííîãî ôàéëà
extractText()
âîçâðàùàåò ñîäåðæèìîå òåêñòà ôàéëà â âèäå ñòðîêè
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Ãëóáèííûå èçìåíåíèÿ
Ðååñòð äëÿ èçâëå÷åíèÿ òåêñòà (2)
Äîáûò÷èê òåêòñà ðåãèñòðèðóåòñÿ â ôàéëå ext_localconf.php:
$textExtractorRegistry = TYPO3CMSCoreResourceTextExtraction
TextExtractorRegistry : : getInstance () ;
$textExtractorRegistry-registerTextExtractor (
TYPO3CMSCoreResourceTextExtractionPlainTextExtractor : : class
) ;
È èñïîëüçóåòñÿ ñëåäóþùèì îáðàçîì:
$textExtractorRegistry = TYPO3CMSCoreResourceTextExtraction
TextExtractorRegistry : : getInstance () ;
$extractor = $textExtractorRegistry-getTextExtractor( $ f i l e ) ;
i f ( $extractor !== NULL) {
$content = $extractor-extractText( $ f i l e ) ;
}
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Ãëóáèííûå èçìåíåíèÿ
Ðàçíîå
Ñåòåâûå áèáëèîòåêè (âðîäå Twitter Bootstrap, jQuery, Font Awesome
è ò. ä.) èñïîëüçóþò Bower (http://bower.io) è áîëåå íå ÿâëÿþòñÿ
÷àñòüþ Git ðåïîçèòîðèÿ ÿäðà TYPO3
# bower install çàïóñê óñòàíîâêè
# bower update çàïóñê îáíîâëåíèÿ
(le bower.json ðàñïîëàãàåòñÿ â äèðåêòîðèè Build/)
Scheduler CLI èìååò ïàðàìåòð -s äëÿ îñòàíîâêè ðàáîòàþùåé
çàäà÷è
Îáðàáàòûâàåìàÿ ïàïêà (äèñòàíöèîííîãî) õðàíèëèùà ìîæåò
íàõîäèòüñÿ çà ïðåäåëàìè õðàíèëèùà (ïîëåçíî äëÿ, íàïðèìåð,
õðàíèëèùà ñ ïðàâàìè ëèøü íà ÷òåíèå)
Òåïåðü âîçìîæíî ïîëó÷èòü ID èçíà÷àëüíî çàïðàøèâàåìîé
ñòðàíèöû: $TSFE-getRequestedId()
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Extbase  Fluid
Ãëàâà 4:
Extbase  Fluid
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Extbase  Fluid
Callouts ïðîòèâ FlashMessages
Callouts (áëîêè ñ èíôîðìàöèåé) çàìåíèëè FlashMessages â
íåñêîëüêèõ ìåñòàõ âíóòðåííåãî èíòåðôåéñà äëÿ âûâîäà
êîíòåêñòíûõ ñîîáùåíèé
Îíè èñïîëüçóþò íîâûé Fluid ïðîåêòîð / ViewHelper be.infobox:
f :be.infobox title=Message title
your box content
/f :be.infobox
f :be.infobox
title=Message title
message=your box content
state=-2
iconName=check
disableIcon=TRUE /
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Extbase  Fluid
format.case ïðîåêòîð / ViewHelper
Íîâûé ïðîåêòîð / ViewHelper format.case ìåíÿåò ðåãèñòð ñòðîê:
upper: ïðåîáðàçóåò ñòðîêó â ÂÅÐÕÍÈÉ ÐÅÃÈÑÒÐ
lower: ïðåîáðàçóåò ñòðîêó â íèæíèé ðåãèñòð
capital: ïðåîáðàçóåò ïåðâóþ áóêâó ñòðîêè â âåðõíèé ðåãèñòð
uncapital: ïðåîáðàçóåò ïåðâóþ áóêâó ñòðîêè â íèæíèé ðåãèñòð
Íàïðèìåð:
// transforms to SOMETEXTWITH MIXED CASE
f :format.caseSome TeXt WiTh miXed cAse/f :format.case
// transforms to SomeString
f :format.case mode=capitalsomeString/f :format.case
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Extbase  Fluid
Ðàçíîå
Ïàðàìåòð cHash íå äîáàâëÿåòñÿ ê URI äåéñòâèé, åñëè òåêóùèé
çàïðîñ íå êåøèðóåòñÿ è öåëåâîå äåéñòâèå íå êåøèðóåìîå
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Óñòàðåâøèå/óäàëåííûå ôóíêöèè
Ãëàâà 5:
Óñòàðåâøèå/óäàëåííûå ôóíêöèè
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Óñòàðåâøèå/óäàëåííûå ôóíêöèè
Ðåîðãàíèçàöèÿ FormEngine (1)
Ïðîèçîøëà âàæíàÿ ðåîðãàíèçàöèÿ êëàññîâ FormEngine ñ
ïîäêëàññàìè, çàòðîíóâøàÿ ñâîéñòâà è ìåòîäû
 TYPO3 CMS 7.2 èãíîðèðóþòñÿ ìíîãèå âíóòðåííèå ñâîéñòâà,
âðîäå FormEngine-$defaultInputWidth èëè
FormEngine-$RTEenabled
ñâîéñòâà FormEngine-$allowOverrideMatrix è
SuggestElement-class òåïåðü protected
Åñëè ôîðìàò type=none óñòàíîâëåí äëÿ ïîëüçîâàòåëÿ â TCA,
íàñòðîåííàÿ userFunc òåïåðü íå ïîëó÷àåò ýêçåìïëÿð
FormEngine â âèäå ðîäèòåëüñêîãî îáúåêòà, â â âèäå
ýêçåìïëÿðà NoneElement
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Óñòàðåâøèå/óäàëåííûå ôóíêöèè
Ðåîðãàíèçàöèÿ FormEngine (2)
Ñëåäóþùèå ìåòîäû (è äàëåå) áûëè ðàñöåíåíû êàê óñòàðåâøèå:
FormEngine-renderWizards()
FormEngine-dbFileIcons()
FormEngine-getClipboardElements()
FormEngine-getSingleField_typeNone_render()
FormEngine-formMaxWidth()
FormEngine-addItems()
SuggestElement-init()
...
Ñîâåò: ïîñìîòðèòå deprecation_*.log äëÿ ïîèñêà ìåñò, ãäå
èñïîëüçóþòñÿ ýòè ìåòîäû èç FormEngine â âàøèõ ðàñøèðåíèÿõ.
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Óñòàðåâøèå/óäàëåííûå ôóíêöèè
Ðåîðãàíèçàöèÿ FormEngine (3)
Áûëè ïåðåèìåíîâàíû ñëåäóþùèå ìåòîäû:
ÐÀÍÅÅ: TYPO3CMSBackendFormElementSuggestElement
ÒÅÏÅÐÜ:TYPO3CMSBackendFormWizardSuggestWizard
ÐÀÍÅÅ: TYPO3CMSBackendFormElementSuggestDefaultReceiver
ÒÅÏÅÐÜ:TYPO3CMSBackendFormWizardSuggestWizardDefaultReceiver
ÐÀÍÅÅ: TYPO3CMSBackendFormElementVaueSlider
ÒÅÏÅÐÜ:TYPO3CMSBackendFormWizardValueSliderWizard
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Óñòàðåâøèå/óäàëåííûå ôóíêöèè
Òî÷êè âõîäà âíóòðåííåãî èíòåðôåéñà
Èçìåíèëèñü ñëåäóþùèå òî÷êè âõîäà âíóòðåííåãî èíòåðôåéñà:
typo3/logout.php (logout)
typo3/alt_le_navframe.php (le_navframe)
typo3/dummy.php (dummy)
typo3/browser.php (browser)
typo3/db_new.php (db_new)
typo3/show_item.php (show_item)
URL ìîæíî îïðåäåëèòü ñëåäóþùèì ïóò¼ì:
TYPO3CMSBackendUtilityBackendUtility::getModuleUrl(...)
Íàïðèìåð:
TYPO3CMSBackendUtilityBackendUtility::getModuleUrl('logout')
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Óñòàðåâøèå/óäàëåííûå ôóíêöèè
Ðåîðãàíèçàöèÿ àâòîðèçàöèÿ âî âíóòðåííåì èíòåðôåéñå
Ââèäó ðåîðãàíèçàöèè àâòîðèçàöèè âî âíóòðåííåì èíòåðôåéñå,
Fluid èñïîëüçóåòñÿ äëÿ øàáëîíà è ñèãíàëà âíóòðåííåãî
èíòåðôåéñà, è LoginController::SIGNAL_RenderLoginForm áûëà
óäàëåíà
Äîïîëíèòåëüíî, ñëåäóþùèå ìåòîäû LoginController óäàëåíû:
LoginController::makeLoginBoxImage
LoginController::wrapLoginForm
LoginController::makeLoginNews
LoginController::makeLoginForm
LoginController::makeLogoutForm
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Óñòàðåâøèå/óäàëåííûå ôóíêöèè
Ðàçíîå (1)
 TYPO3 CMS  7.2 URI ìîäóëåé, îðãàíèçóåìûå ÷åðåç mod.php
õðàíèëèñü â âèäå ìàññèâà â ãëîáàëüíîé ïåðåìåííîé
$GLOBALS['MCONF']['_'].
Ýòî óäàëåíî áåç ïîäñòàíîâêè, ïðè ýòîì ðàñøèðåíèÿ äîëæíû
âìåñòî ýòîãî èñïîëüçîâàòü BackendUtility::getModuleUrl()
instead.
Ïàðàìåòð äëÿ ïîëó÷åíèÿ ëîêàëüíîãî ïóòè ôàéëà FAL ÷åðåç
TypoScript áûë óäàë¼í: a.value.data = le:current:localPath
Ñëåäóþùèå tt_content TCA ïîëÿ áûëè ïåðåíåñåíû â
EXT:compatibility6:
altText
imagecaption
imagecaption_position
image_link
longdescURL
titleText
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Óñòàðåâøèå/óäàëåííûå ôóíêöèè
Ðàçíîå (2)
Ñòîðîííÿÿ áèáëèîòåêà websvg áûëà óäàëåíà èç ÿäðà TYPO3 CMS.
Òàêæå, áåç âîçìîæíîñòè îòêàòà áûëè óäàëåíû ñîîòâåòñòâóþùèå
ïàðàìåðòû TypoScript (page.javascriptLibs.SVG.*) è ïóáëè÷íûå
ìåòîäû âíóòðè PageRenderer.
Íàïðèìåð: $pageRenderer-loadSvg()
Ñëåäóþùèé êëþ÷ èç mod.web_info.menu.function áûë
ïåðåèìåíîâàí (÷òî îòðàçèëîñü íà PageTScong):
tx_cms_webinfo_page - TYPO3CMSFrontendControllerPageInformationController
tx_cms_webinfo_lang - TYPO3CMSFrontendControllerTranslationStatusController
tx_belog_webinfo - TYPO3CMSBelogModuleBackendLogModuleBootstrap
tx_infopagetsconfig_webinfo - TYPO3CMSInfoPagetsconfigController
InfoPageTyposcriptConfigController
tx_linkvalidator_ModFuncReport - TYPO3CMSLinkvalidatorReportLinkValidatorReport
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Óñòàðåâøèå/óäàëåííûå ôóíêöèè
Ðàçíîå (3)
Ïàðàìåòð $returnHTML ìåòîäà
TYPO3CMSCoreUtilityDebugUtility::debugRows() òåïåðü íå
èñïîëüçóåòñÿ è áûë ïîìå÷åí, êàê óñòàðåâøèé
Ïàðàìåòð TypoScript cong.prexLocalAnchors áûë ïîìå÷åí,
êàê óñòàðåâøèé íàðÿäó ñ ñîîòâåòñòâóþùèìè ìåòîäàìè â
TypoScriptFrontendContoller:
prexLocalAnchorsWithScript() è doLocalAnchorFix()
Ïóáëè÷íûé ìåòîä $TSFE-checkFileInclude() â ãëîáàëüíîì
FrontendController òåïåðü óñòàðåâøèé. Âìåñòî ýòîãî
èñïîëüçóéòå autoloader èëè $TSFE-tmpl-getFileName().
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Óñòàðåâøèå/óäàëåííûå ôóíêöèè
Ðàçíîå (4)
Äâà cObjects COBJ_ARRAY (ïñåâäîíèì äëÿ COA) è
CASEFUNC (ïñåâäîíèì äëÿ CASE) áûëè ïåðåíåñåíû â
ðàñøèðåíèå EXT:compatibility6 (è ïîìå÷åíû êàê óñòàðåâøèå),
è ïî óìë÷àíèþ áîëåå íåäîñòóïíû
Ñâîéñòâî DataHandler stripslashes_values îòìå÷åíî êàê
óñòàðåâøåå
ThumbnailView, êàê è thumbs.php è
BackendUtility::getThumbNail() òåïåðü óñòàðåâøèå è áóäóò
óäàëåíû â TYPO3 CMS âåðñèè 8
(ñìîòðèòå BackendUtility::thumbCode() äëÿ ìèãðàöèè)
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Óñòàðåâøèå/óäàëåííûå ôóíêöèè
Ðàçíîå (5)
Îáëàñòü èì¼í mod.tx_linkvalidator äëÿ LinkValidator Scheduler Task
èçìåíåíà íà mod.linkvalidator äëÿ ñîâìåñòèìîñòè íàñòðîåê ñ
TScong
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Èñòî÷íèêè è àâòîðû
Ãëàâà 6:
Èñòî÷íèêè è àâòîðû
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Èñòî÷íèêè è àâòîðû
Èñòî÷íèêè(1)
Íîâîñòè TYPO3:
http://typo3.org/news
Èíôîðìàöèÿ ïî âûõîäó âåðñèé:
http://wiki.typo3.org/TYPO3_CMS_7.2.0
INSTALL.md è ChangeLog
typo3/sysext/core/Documentation/Changelog/7.2/*
TYPO3 Bug-/Issuetracker:
https://forge.typo3.org/projects/typo3cms-core
Ðåïîçèòîðèè TYPO3 Git:
https://git.typo3.org/Packages/TYPO3.CMS.git
https://git.typo3.org/Packages/TYPO3.Fluid.git
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Èñòî÷íèêè è àâòîðû
Ñëàéäû íîâîââåäåíèé TYPO3 CMS:
Patrick Lobacher
(Èññëåäîâàíèÿ, ñáîð èíôîðìàöèè è íåìåöêàÿ âåðñèÿ)
Michael Schams
(Ëèäåð ïðîåêòà è àíãëèéñêàÿ âåðñèÿ)
Ïåðåâîä÷èêè:
Àíäðåé Àêñ¼íîâ, Paul Blondiaux, Sergio Catala, Michel Mix,
Sinisa Mitrovic, Angeliki Plati, Nena Jelena Radovic è Roberto Torresani
http://typo3.org/download/release-notes/whats-new
Licensed under Creative Commons BY-NC-SA 3.0
TYPO3 CMS 7.2 - îáíîâëåíèÿ

Weitere ähnliche Inhalte

Andere mochten auch

Mh0051 health administration
Mh0051 health administrationMh0051 health administration
Mh0051 health administrationconsult4solutions
 
Reducing Concentration Uncertainty Using the Coupled Markov Chain Approach
 Reducing Concentration Uncertainty Using the Coupled Markov Chain Approach Reducing Concentration Uncertainty Using the Coupled Markov Chain Approach
Reducing Concentration Uncertainty Using the Coupled Markov Chain ApproachAmro Elfeki
 
Rapport-bibliographique : Les conséquences biophysiques des espaces périurbains
Rapport-bibliographique : Les conséquences biophysiques des espaces périurbainsRapport-bibliographique : Les conséquences biophysiques des espaces périurbains
Rapport-bibliographique : Les conséquences biophysiques des espaces périurbainsBenoît Browaeys
 
Italiasicura_21_10_2016_Firenze
Italiasicura_21_10_2016_FirenzeItaliasicura_21_10_2016_Firenze
Italiasicura_21_10_2016_FirenzeGiovanni Menduni
 
Steady Groundwater Flow Simulation towards Ains in a Heterogeneous Subsurface
Steady Groundwater Flow Simulation towards Ains in a Heterogeneous SubsurfaceSteady Groundwater Flow Simulation towards Ains in a Heterogeneous Subsurface
Steady Groundwater Flow Simulation towards Ains in a Heterogeneous SubsurfaceAmro Elfeki
 
Animal poison
Animal poisonAnimal poison
Animal poisonaakefa
 
Personal Data Law Update, Kazakhstan, 2015
Personal Data Law Update, Kazakhstan, 2015Personal Data Law Update, Kazakhstan, 2015
Personal Data Law Update, Kazakhstan, 2015Galina Pogrebnaya
 
Access control basics-8
Access control basics-8Access control basics-8
Access control basics-8grantlerc
 
Impacts du changement climatique
Impacts du changement climatiqueImpacts du changement climatique
Impacts du changement climatiqueBenoît Browaeys
 
Heart Issues - 2.3.13 Victoria Baptist Church
Heart Issues - 2.3.13  Victoria Baptist ChurchHeart Issues - 2.3.13  Victoria Baptist Church
Heart Issues - 2.3.13 Victoria Baptist ChurchChristopher Lawrence
 
Mu0017 talent management and employee retention
Mu0017 talent management and employee retentionMu0017 talent management and employee retention
Mu0017 talent management and employee retentionconsult4solutions
 
Om0013 advance production and operation management
Om0013 advance production and operation managementOm0013 advance production and operation management
Om0013 advance production and operation managementconsult4solutions
 
Pm0015 quantitaive methods in project management
Pm0015 quantitaive methods in project managementPm0015 quantitaive methods in project management
Pm0015 quantitaive methods in project managementconsult4solutions
 
Participating in a Blog: Jordanian EFL Learners' Voices
Participating in a Blog: Jordanian EFL Learners' VoicesParticipating in a Blog: Jordanian EFL Learners' Voices
Participating in a Blog: Jordanian EFL Learners' VoicesYasser Al-Shboul
 

Andere mochten auch (20)

Circular chart-recorders
Circular chart-recordersCircular chart-recorders
Circular chart-recorders
 
Mh0051 health administration
Mh0051 health administrationMh0051 health administration
Mh0051 health administration
 
Reducing Concentration Uncertainty Using the Coupled Markov Chain Approach
 Reducing Concentration Uncertainty Using the Coupled Markov Chain Approach Reducing Concentration Uncertainty Using the Coupled Markov Chain Approach
Reducing Concentration Uncertainty Using the Coupled Markov Chain Approach
 
cv shimaa + pic
cv shimaa + piccv shimaa + pic
cv shimaa + pic
 
Rapport-bibliographique : Les conséquences biophysiques des espaces périurbains
Rapport-bibliographique : Les conséquences biophysiques des espaces périurbainsRapport-bibliographique : Les conséquences biophysiques des espaces périurbains
Rapport-bibliographique : Les conséquences biophysiques des espaces périurbains
 
Italiasicura_21_10_2016_Firenze
Italiasicura_21_10_2016_FirenzeItaliasicura_21_10_2016_Firenze
Italiasicura_21_10_2016_Firenze
 
Steady Groundwater Flow Simulation towards Ains in a Heterogeneous Subsurface
Steady Groundwater Flow Simulation towards Ains in a Heterogeneous SubsurfaceSteady Groundwater Flow Simulation towards Ains in a Heterogeneous Subsurface
Steady Groundwater Flow Simulation towards Ains in a Heterogeneous Subsurface
 
Animal poison
Animal poisonAnimal poison
Animal poison
 
Bloque 1
Bloque 1Bloque 1
Bloque 1
 
Personal Data Law Update, Kazakhstan, 2015
Personal Data Law Update, Kazakhstan, 2015Personal Data Law Update, Kazakhstan, 2015
Personal Data Law Update, Kazakhstan, 2015
 
Bab 4
Bab 4Bab 4
Bab 4
 
Access control basics-8
Access control basics-8Access control basics-8
Access control basics-8
 
Mi familia
Mi familiaMi familia
Mi familia
 
Impacts du changement climatique
Impacts du changement climatiqueImpacts du changement climatique
Impacts du changement climatique
 
Heart Issues - 2.3.13 Victoria Baptist Church
Heart Issues - 2.3.13  Victoria Baptist ChurchHeart Issues - 2.3.13  Victoria Baptist Church
Heart Issues - 2.3.13 Victoria Baptist Church
 
Mu0017 talent management and employee retention
Mu0017 talent management and employee retentionMu0017 talent management and employee retention
Mu0017 talent management and employee retention
 
Om0013 advance production and operation management
Om0013 advance production and operation managementOm0013 advance production and operation management
Om0013 advance production and operation management
 
Pm0015 quantitaive methods in project management
Pm0015 quantitaive methods in project managementPm0015 quantitaive methods in project management
Pm0015 quantitaive methods in project management
 
mycollegecreditcourses
mycollegecreditcoursesmycollegecreditcourses
mycollegecreditcourses
 
Participating in a Blog: Jordanian EFL Learners' Voices
Participating in a Blog: Jordanian EFL Learners' VoicesParticipating in a Blog: Jordanian EFL Learners' Voices
Participating in a Blog: Jordanian EFL Learners' Voices
 

Typo3 v7-2-whats-new.russian

  • 1. TYPO3 CMS 7.2 - îáíîâëåíèÿ Íîâîââåäåíèÿ, èçìåíåíèÿ è èñïðàâëåíèÿ Àâòîðû: Patrick Lobacher b Michael Schams 12/May/2015 Creative Commons BY-NC-SA 3.0
  • 2. TYPO3 CMS 7.2 - îáíîâëåíèÿ Îáçîð ãëàâ Ââåäåíèå Backend / Âíóòðåííèé èíòåðôåéñ TScong è TypoScript Ãëóáèííûå èçìåíåíèÿ Extbase Fluid Óñòàðåâøèå/óäàëåííûå ôóíêöèè Èñòî÷íèêè è àâòîðû TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 4. Ââåäåíèå TYPO3 CMS 7.2 - ôàêòû Äàòà âûõîäà: 28 April 2015 Òèï: Sprint Release Âèäåíèå: îõâàò, èííîâàöèè, äîñòóïíîñòü Ôîêóñ: Âíåøíèé èíòåðôåéñ / Frontend TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 5. Ââåäåíèå Ñèñòåìíûå òðåáîâàíèÿ PHP*: 5.5.0 - 5.6.x MySQL: 5.5.x - 5.6.x (no strict mode) Äèñêîâîå ïðîñòðàíñòâî: 200 ÌÁ ìèí. PHP íàñòðîéêè: memory_limit = 128M max_execution_time = 240s compilation option disable-ipv6 íå äîëæíî èñïîëüçîâàòüñÿ Âíóòðåííèé èíòåðôåéñ òðåáóåò IE = 9 èëè ëþáîé äðóãîé ñîâðåìåííûé áðàóçåð *) Ïîäðîáíîñòè: PHP Minimum Requirements for TYPO3 CMS 7 TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 6. Ââåäåíèå Ãðàôèê ðàçðàáîòêè è âûõîäà TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 7. Ââåäåíèå TYPO3 CMS äîðîæíàÿ êàðòà Ïðèìåðíûå äàòû âûõîäà è èõ îñíîâíîé ôîêóñ: v7.0 02/äåê/2014 Ïåðåðàáîòêà âíóòðåííåãî èíòåðôåéñà ÷àñòü 1 v7.1 24/ôåâ/2015 ×èñòêà ÿäðà è îïòèìèçàöèÿ v7.2 28/àïð/2015 Âíåøíèé èíòåðôåéñ v7.3 09/èþíü/2015 Ýêîñèñòåìà ïàêåòîâ, Composer è ðàáîòà ñ ðàñøèðåíèÿìè v7.4 04/àâã/2015 Backend Overhaul Vol 2 v7.5 29/ñåí/2015 (áóäåò îïðåäåëåíî...) v7.6 xx/xxx/2015 TYPO3 CMS 7 LTS (Long Term Release) https://typo3.org/typo3-cms/roadmap/ http://typo3.org/news/article/embrace-and-innovate-typo3-cms-7/ TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 8. Ââåäåíèå Óñòàíîâêà Îôèöèàëüíàÿ ïðîöåäóðà óñòàíîâêè ïîä Linux/Mac OS X (DocumentRoot, íàïðèìåð, /var/www/site/htdocs): $ cd /var/www/site $ wget --content-disposition get.typo3.org/7.2 $ tar xzf typo3_src-7.2.0.tar.gz $ cd htdocs $ ln -s ../typo3_src-7.2.0 typo3_src $ ln -s typo3_src/index.php $ ln -s typo3_src/typo3 $ touch FIRST_INSTALL Symbolic links ïîä Microsoft Windows: Èñïîëüçóéòå junction ïîä Windows XP/2000 Èñïîëüçóéòå mlink ïîä Windows Vista è Windows 7 TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 9. Ââåäåíèå Îáíîâëåíèå äî TYPO3 CMS 7.x Îáíîâëåíèå âîçìîæíî ëèøü ñ TYPO3 CMS 6.2 LTS TYPO3 CMS 6.2 äîëæíû áûòü îáíîâëåíû ñíà÷àëà äî TYPO3 CMS 6.2 LTS Èíñòðóêöèè ïî îáíîâëåíèþ: http://wiki.typo3.org/Upgrade#Upgrading_to_7.2 Îôèöèàëüíîå ðóêîâîäñòâî TYPO3 TYPO3 Installation and Upgrading: http://docs.typo3.org/typo3cms/InstallationGuide Îáùèé ïîäõîä: Ïðîâåðêà ìèíèìàëüíûõ ñèñòåìíûõ òðåáîâàíèé (PHP, MySQL, etc.) Ïðîñìîòð deprecation_*.log â ñòàðîé âåðñèè TYPO3 Îáíîâëåíèå âñåõ ðàñøèðåíèé äî ïîñëåäíåé âåðñèè Çàãðóçêà íîâûõ èñõîäíûõ ôàéëîâ è çàïóñê Install Tool Upgrade Wizard Çàïóñê ìîäóëÿ îáçîðà äëÿ âíóòðåííèõ ïîëüçîâàòåëåé (îïöèîíàëüíî) TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 10. Backend / Âíóòðåííèé èíòåðôåéñ Ãëàâà 1: Backend / Âíóòðåííèé èíòåðôåéñ TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 11. Backend / Âíóòðåííèé èíòåðôåéñ Íàñòðàèâàåìàÿ ôîðìà àâòîðèçàöèè Ñèñòåìíîå ðàñøèðåíèå backend ïîçâîëÿåò àäìèíèñòðàòîðàì óñòàíàâëèâàòü ôîíîâîå èçîáðàæåíèå, ëîãîòèï è öâåò ýêðàíà àâòîðèçàöèè âî âíóòðåííåì èíòåðôåéñå: TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 12. Backend / Âíóòðåííèé èíòåðôåéñ Ðàáîòà ñ èçîáðàæåíèÿìè: îáðåçêà Ôóíêöèîíàë ðàáîòû ñ èçîáðàæåíèÿìè ïîçâîëÿåò ðåäàêòîðàì îáðåçàòü èçîáðàæåíèÿ âî âíóòðåííåì èíòåðôåéñå. Ýòà âîçìîæíîñòü äîëæíà áûòü ïðèíóäèòåëüíî óñòàíîâëåíà äëÿ ïîëüçîâàòåëåé âíóòðåííåãî èíòåðôåéñà (Exclude Fields / Ïîëÿ èñêëþ÷åíèÿ): TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 13. Backend / Âíóòðåííèé èíòåðôåéñ Ãðóïïû âíóòðåííèõ ïîëüçîâàòåëåé Òåïåðü óïðàâëÿòü ãðóïïàìè âíóòðåííèõ ïîëüçîâàòåëåé âîçìîæíî èç ïîäìîäóëÿ ìîäóëÿ Âíóòðåííèå ïîëüçîâàòåëè / Backend Users: TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 14. Backend / Âíóòðåííèé èíòåðôåéñ Îòêëþ÷åíèå àâòîìàòè÷åñêîé óñòàíîâêè ðàñøèðåíèé Àäìèíèñòðàòîðû ìîãóò íàñòðîèòü ìîäóëü Óïðàâëåíèÿ ðàñøèðåíèÿìè íå óñòàíàâëèâàòü çàãðóæåííûå ðàñøèðåíèÿ ñðàçó æå: TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 15. Backend / Âíóòðåííèé èíòåðôåéñ Îñòàâøååñÿ êîëè÷åñòâî ââîäèìûõ â òåêñòîâûå ïîëÿ ñèìâîëîâ Êîëè÷åñòâî îñòàâøèõñÿ äëÿ ââîäà ñèìâîëîâ òåïåðü îòîáðàæàåòñÿ ïîä òåêñòîâûìè ïîëÿìè ââîäà: TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 16. Backend / Âíóòðåííèé èíòåðôåéñ Ïîäòâåðæäåíèå íåñîõðàí¼ííûõ èçìåíåíèé Íîâûé äèàëîã íàïîìèíàåò ðåäàêòîðàì î âîçìîæíîñòè ïîòåðè íåñîõðàí¼ííûõ èçìåíåíèé: TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 17. Backend / Âíóòðåííèé èíòåðôåéñ Ìåíþ ñ ñèñòåìíîé èíôîðìàöèåé Âûïàäàþùåå ìåíþ âûâîäèò íåêóþ èíôîðìàöèþ îá óñòàíîâëåííîé ñèñòåìå TYPO3. Äàííûå ýòîãî äèàëîãà ìîæíî äîïîëíèòü: (îáðàòèòåñü ê ãëàâå Ãëóáèííûå èçìåíåíèÿ) TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 18. Backend / Âíóòðåííèé èíòåðôåéñ Èçìåíåíèå ïàðîëÿ Âíóòðåííèå ïîëüçîâàòåëè âûíóæäåíû èçìåíèòü òåêóùèé (ñòàðûé) ïàðîëü íà íîâûé: TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 19. Backend / Âíóòðåííèé èíòåðôåéñ Çíà÷îê ñòðàíèöû Âûâåñòè ñîäåðæèìîå ñî ñòðàíèöû / Show Content from Page Íîâûé çíà÷îê â äåðåâå ñòðàíèö äëÿ óêàçàíèÿ ñòðàíèö, âûâîäÿùèõ ñîäåðæèìîå äðóãèõ ñòðàíèö: TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 20. Backend / Âíóòðåííèé èíòåðôåéñ Îáíîâëåíèå ðàñøèðåíèé Ïðè îáíîâëåíèè ðàñøèðåíèé òåïåðü åñòü âîçìîæíîñòü âûáîðà íóæíîé âåðñèè: TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 21. Backend / Âíóòðåííèé èíòåðôåéñ Çàäà÷à äëÿ Êîðçèíû / Recycler Íîâàÿ çàäà÷à â ïëàíèðîâùèêå äëÿ ñèñòåìíîãî ðàñøèðåíèÿ recycler óäàëÿåò ïîìå÷åííûå êàê óäàë¼ííûå çàïèñè èç òàáëèö áàçû äàííûõ.  çàäà÷å íàñòðàèâàþòñÿ ìàêñèìàëüíûé âîçðàñò è çàäåéñòâîâàííûå òàáëèöû. Òî æå ìîæåò áûòü ïðèìåíèìî è ê ôàéëàì, åñëè íà íèõ ññûëàþòñÿ â ýëåìåíòå ñîäåðæèìîãî. TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 22. TScong è TypoScript Ãëàâà 2: TScong è TypoScript TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 23. TScong è TypoScript Ãèáêàÿ íàñòðîéêà ïðîñìîòðà URL (1) Òåïåðü âîçìîæíî íàñòðîèòü ïðîñìîòð ññûëîê, ôîðìèðóåìûõ äëÿ êíîïêè ñîõðàíèòü è ïðîñìîòðåòü / save view âíóòðåííåãî èíòåðôåéñà. Ðàçðàáàòûâàëîñü, êàê âîçìîæíîñòü ïðåäïðîñìîòðà äëÿ çàïèñåé íîâîñòåé èëè áëîãà, íî ìîæíî îïðåäåëèòü ðàçíûå ñòðàíèöû äëÿ ïðåäïðîñìîòðà îáû÷íûõ ýëåìåíòîâ ñîäåðæèìîãî. TCEMAIN. preview { table name { previewPageId = 123 useDefaultLanguageRecord = 0 fieldToParameterMap { uid = tx_myext_pi1[showUid] } additionalGetParameters { tx_myext_pi1[ special ] = HELLO } } } TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 24. TScong è TypoScript Ãèáêàÿ íàñòðîéêà ïðîñìîòðà URL (2) previewPageId: UID ñòðàíèöû, èñïîëüçóåìîé äëÿ ïðåäïðîñìîòðà (åñëè íå óêàçàíî, èñïîëüçóåòñÿ òåêóùàÿ ñòðàíèöà) useDefaultLanguageRecord: óêàçûâàåò, ÷òî çàïèñü ïåðåâîäà áóäåò èñïîëüçîâàòü UID çàïèñè ïî óìîë÷àíèþ (ïî óìîë÷àíèþ çàäåéñòâîâàíî, çíà÷åíèå: 1) eldToParameterMap: ðàçìåòêà, ïîçâîëÿþùàÿ âûáðàòü ïîëÿ çàïèñè, âêëþ÷àåìûå â âèäå ïàðàìåòðîâ GET additionalGetParameters: ïîçâîëÿåò äîáàâèòü ïðîèçâîëüíûå ïàðàìåòðû GET è äàæå èõ ïåðåíàçíà÷èòü TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 25. TScong è TypoScript Íàñòðîéêà RTE: öåëü ïî óìîë÷àíèþ Ñâîéñòâî íàñòðîåê RTE äëÿ PageTScong ïîçâîëÿåò íàñòðîèòü öåëü ïî óìîë÷àíèþ äëÿ ññûëîê ðàçëè÷íîãî òèïà buttons.link.[ type ].properties.target.default = ... Âîçìîæíûå òèïû ññûëîê: (äðóãèå ìîãóò áûòü äîáàâëåíû ÷åðåç ðàñøèðåíèÿ) page le url mail spec TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 26. TScong è TypoScript Óäàëåíèå ïóñòûõ òåãîâ HTML â HTMLparser  HTMLparser ïðèìåíÿåòñÿ íîâûé ôóíêöèîíàë, ïîçâîëÿþùèé óäàëÿòü ïóñòûå òåãè HTML stdWrap { // this removes a l l empty HTML tags HTMLparser. stripEmptyTags = 1 // this removes empty h2 and h3 tags only HTMLparser. stripEmptyTags . tags = h2, h3 } RTE. default . proc .entryHTMLparser_db { stripEmptyTags = 1 stripEmptyTags . tags = p stripEmptyTags . treatNonBreakingSpaceAsEmpty = 1 } Note: HTMLparser ïî óìîë÷àíèþ óäàëÿåò âñå èçâåñòíûå òåãè. Ïîýòîìó èíîãäà ïîëåçíî áóäåò îñòàâÿòü âñå íåèçâåñòíûå: HTMLparser.keepNonMatchedTags = 1 TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 27. TScong è TypoScript Äðóãîå Äëÿ íàñòðîéêè äèàëîãà àááðåâèàòóð â PageTScong ìîæíî âîñïîëüçîâàòüñÿ íîâûì ñâîéñòâîì buttons.abbreviation.removeFieldsets # Possible values are: # acronym, definedAcronym, abbreviation , definedAbbreviation buttons.abbreviation.removeFieldsets = acronym,definedAcronym Ñâîéñòâî inlineLanguageLabel îáúåêòà PAGE òåïåðü ìîæåò îáðàáàòûâàòü LLL: ññûëêè TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 28. Ãëóáèííûå èçìåíåíèÿ Ãëàâà 3: Ãëóáèííûå èçìåíåíèÿ TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 29. Ãëóáèííûå èçìåíåíèÿ Ïîääåðæêà SVG â ÿäðå ßäðî TYPO3 CMS òåïåðü ïîääåðæèâàåò èçîáðàæåíèÿ SVG (Scalable Vector Graphics) Ïðè ìàñøòàáèðîâàíèè èçîáðàæåíèÿ SVG, âìåñòî ñîçäàíèÿ èçìåí¼ííîãî ôàéëà, çàïèñü ñ âû÷èñëåííûìè íîâûìè ðàçìåðàìè ñîõðàíÿåòñÿ â sys_le_processedle (åñëè òîëüêî èçîáðàæåíèå íå îáðàáàòûâàåòñÿ äàëåå, íàïðèìåð, îáðåçàåòñÿ). Äîáàâëåíà âîçìîæíîñòü óêàçàíèÿ ðàçìåðîâ SVG äëÿ ñëó÷àÿ, êîãäà ImageMagick/GraphicsMagick íå ìîæåò îïðåäåëèòü èõ ñàìîñòîÿòåëüíî. Ïðè ýòîì ÷èòàåòñÿ ñîäåðæèìîå ôàéëà XML. SVG òàêæå áûë äîáàâëåí ê ñïèñêó ðàñøèðåíèé ôàéëîâ äëÿ èçîáðàæåíèé: $GLOBALS['TYPO3_CONF_VARS']['GFX']['imagele_ext'] TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 30. Ãëóáèííûå èçìåíåíèÿ Ðàñøèðåííûé äðàéâåð FAL Äëÿ èñïðàâëåíèÿ ïðîèçâîäèòåëüíîñòè ïðè âûâîäå ñïèñêà (óäàë¼ííûõ) õðàíèëèù, äðàéâåð FAL äîëæåí ïîçàáîòèòüñÿ îá óïîðÿäî÷èâàíèè, ñîðòèðîâêå è ïîäñ÷¼òå ôàéëîâ/ïàïîê. Áûëè äîáàâëåíû äâà íîâûõ ïàðàìåòðà sort è sortRev ïîçâîëÿþùèõ: public function getFilesInFolder ( $folderIdentifier , $start = 0 , $numberOfItems = 0 , $recursive = FALSE, array $filenameFilterCallbacks = array () , $sort = ' ' , $sortRev = FALSE) ; public function getFoldersInFolder ( $folderIdentifier , $start = 0 , $numberOfItems = 0 , $recursive = FALSE, array $folderNameFilterCallbacks = array () , $sort = ' ' , $sortRev = FALSE) ; Áûëè òàêæå ðåàëèçîâàíû äâà íîâûõ ìåòîäà: public function getFilesInFolderCount( $folderIdentifier , $recursive = FALSE, array $filenameFilterCallbacks = array () ) ; public function getFoldersInFolderCount( $folderIdentifier , $recursive = FALSE, array $folderNameFilterCallbacks = array () ) ; TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 31. Ãëóáèííûå èçìåíåíèÿ Backend Routing API (1) Áûëà ñîçäàíà Backend Routing API, óïðàâëÿþùàÿ òî÷êàìè âíóòðåíí òî÷êàìè âõîäà / Entry Points  îñíîâå âçÿòà Symfony Routing Framework, è ýòîò API â çíà÷èòåëüíîé ñòåïåíè ñîâìåñòèìà ñ íèì (õîòÿ ñåé÷àñ TYPO3 èñïîëüçóåò ïðèìåðíî å¼ 20%) Îñíîâíûå ôóíêöèè ðåàëèçóþò òðè êëàññà: class Route: ñîäåðæèò äàííûå î ïóòÿõ è ïàðàìåòðàõ class Router: API äëÿ ñîïîñòàâëåíèÿ ìàðøðóòà class UrlGenerator: ôîðìèðóåò URL TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 32. Ãëóáèííûå èçìåíåíèÿ Backend Routing API (2) Ìàðøðóòû îïðåäåëÿþòñÿ â ñëåäóþùåì ôàéëå ðàñøèðåíèÿ: Conguration/Backend/Routes.php (â êà÷åñòâå ïðèìåðà ñìîòðèòå ñèñòåìíîå ðàñøèðåíèå backend) Äîïîëíèòåëüíûå ñâåäåíèÿ îá Backend Routing API: http://wiki.typo3.org/Blueprints/BackendRouting TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 33. Ãëóáèííûå èçìåíåíèÿ Íîâîå ñèñòåìíîå ðàñøèðåíèå äëÿ ìåäèà ýëåìåíòîâ ñîäåðæèìîãî Íîâîå ñèñòåìíîå ðàñøèðåíèå mediace ñîäåðæèò ñëåäóþùèå cObjects: MULTIMEDIA MEDIA SWFOBJECT FLOWPLAYER QTOBJECT Ýëåìåíòû ñîäåðæèìîãî media è multimedia òàêæå áûëè ïåðåíåñåíû â ýòî ñèñòåìíîå ðàñøèðåíèå íàðÿäó ñ Media Wizard Provider Ýòî ðàñøèðåíèå ïî óìîë÷àíèþ íå óñòàíàâëèâàåòñÿ! TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 34. Ãëóáèííûå èçìåíåíèÿ Ìåñòîïîëîæåíèå ñòîðîííèõ áèáëèîòåê Òåïåðü óñòàíàâëèâàåìûå ÷åðåç Composer ñòîðîííèå áèáëèîòåêè ðàñïîëàãàþòñÿ ïîä typo3/contrib/vendor (TYPO3 CMS 7.2: â ïàïêå Packages/Libraries) Òàêèì îáðàçîì, ïðîöåññ óïàêîâêè äëÿ âûïóñêà TYPO3 CMS â âèäå tarball èëè zip ìîæíî ïåðåêëþ÷èòü íà ïîëíîñòüþ ðàáî÷óþ óñòàíîâêó, áåç íåîáõîäèìîñòè çàãðóçêè ïàêåòîâ/ äëÿ ñòîðîííèõ áèáëèîòåê Ïðè óñòàíîâêå ìîãóò ïðîèçîéòè ïðîáëåìû, åñëè íàñòðîéêè äåëàëèñü ÷åðåç composer ñ èñïîëüçîâàíèåì phpunit, íåñìîòðÿ íà òî, ÷òî çàâèñèìîñòè áûëè ïîëíîñòüþ èñïðàâëåíû. Äëÿ èñïðàâëåíèÿ âûïîëíèòå: # cd htdocs/ # rm -rf typo3/contrib/vendor/ bin/ Packages/Libraries/ composer.lock # composer install TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 35. Ãëóáèííûå èçìåíåíèÿ Óâåäîìëåíèÿ JavaScript Èñïîëüçóåòñÿ íîâûé API JavaScript óâåäîìëåíèé: // old and deprecated: top.TYPO3.Flashmessages.display(TYPO3.Severity.notice) // new and the only correct way since TYPO3 CMS 7.2: top.TYPO3. Notification .notice(title , message) Èìåþòñÿ ñëåäóþùèå ôóíêöèè API: (ïàðàìåòð duration íåîáÿçàòåëåí, çíà÷åíèå ïî óìîë÷àíèþ 5 ñåêóíä) top.TYPO3.Notication.notice(title, message, duration) top.TYPO3.Notication.info(title, message, duration) top.TYPO3.Notication.success(title, message, duration) top.TYPO3.Notication.warning(title, message, duration) top.TYPO3.Notication.error(title, message, duration) TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 36. Ãëóáèííûå èçìåíåíèÿ Âûïàäàþùèé ñïèñîê ñèñòåìíîé èíôîðìàöèè (1) Âîçìîæíî äîáàâèòü ýëåìåíòû ñèñòåìíîé èíôîðìàöèè ê âûïàäàþùåìó ñïèñêó, ïóò¼ì ñîçäàíèÿ ñëîòà Ñëîò íåîáõîäèìî çàðåãèñòðèðîâàòü â ôàéëå ext_localconf.php: $signalSlotDispatcher = TYPO3CMSCoreUtilityGeneralUtility : : makeInstance( TYPO3CMSExtbaseSignalSlotDispatcher : : class ) ; $signalSlotDispatcher-connect( TYPO3CMSBackendBackendToolbarItemsSystemInformationToolbarItem : : class , ' getSystemInformation ' , VendorExtensionSystemInformationItem : : class , 'getItem ' ) ; TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 37. Ãëóáèííûå èçìåíåíèÿ Âûïàäàþùèé ñïèñîê ñèñòåìíîé èíôîðìàöèè (2) Âîçìîæíî äîáàâèòü ýëåìåíòû ñèñòåìíîé èíôîðìàöèè ê âûïàäàþùåìó ñïèñêó, ïóò¼ì ñîçäàíèÿ ñëîòà Íåîáõîäèì êëàññ Item ñ ìåòîäàìè getItem() â ôàéëå EXT:extensionClassesSystemInformationItem.php: class Item { public function getItem () { return array(array( ' t i t l e ' = 'The t i t l e shown on hover ' , ' value ' = ' Description shown in the l i s t ' , ' status ' = SystemInformationHookInterface : :STATUS_OK, 'count ' = 4 , ' icon ' = TYPO3CMSBackendUtilityIconUtility : : getSpriteIcon ( ' extensions -example- information - icon ' ) ) ) ; } } TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 38. Ãëóáèííûå èçìåíåíèÿ Âûïàäàþùèé ñïèñîê ñèñòåìíîé èíôîðìàöèè (3) Çíà÷îê extensions-example-information-icon äîëæåí áûòü çàðåãèñòðèðîâàí â ext_localconf.php: TYPO3CMSBackendSpriteSpriteManager : : addSingleIcons ( array( ' information - icon ' = TYPO3CMSCoreUtilityExtensionManagementUtility : : extRelPath( $_EXTKEY) . ' Resources/Public/Images/Icons/information - icon .png' ) , $_EXTKEY ) ; TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 39. Ãëóáèííûå èçìåíåíèÿ Âûïàäàþùèé ñïèñîê ñèñòåìíîé èíôîðìàöèè (4) Ñîîáùåíèÿ âûâîäÿòñÿ â íèæíåé ÷àñòè âûïàäàþùåãî ñïèñêà Ðàñøèðåíèÿ ìîãóò äîáàâëÿòü ñâîè ñëîòû ñ èíôîðìàöèåé: $signalSlotDispatcher = TYPO3CMSCoreUtilityGeneralUtility : : makeInstance( TYPO3CMSExtbaseSignalSlotDispatcher : : class ) ; $signalSlotDispatcher-connect( TYPO3CMSBackendBackendToolbarItemsSystemInformationToolbarItem : : class , 'loadMessages ' , VendorExtensionSystemInformationMessage : : class , 'getMessage ' ) ; TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 40. Ãëóáèííûå èçìåíåíèÿ Âûïàäàþùèé ñïèñîê ñèñòåìíîé èíôîðìàöèè (5) Ñîîáùåíèÿ âûâîäÿòñÿ â íèæíåé ÷àñòè âûïàäàþùåãî ñïèñêà Íåîáõîäèì êëàññ Message ñ ìåòîäîì getMessage() â ôàéëå EXT:extensionClassesSystemInformationMessage.php: class Message { public function getMessage() { return array(array( ' status ' = SystemInformationHookInterface : :STATUS_OK, ' text ' = 'Something went wrong. Take a look at the reports module. ' ) ) ; } } TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 41. Ãëóáèííûå èçìåíåíèÿ Ïàðàìåòðû íàñòîéêè äëÿ èçìåíåíèÿ èçîáðàæåíèé (1) Äîñòóïíû ñëåäóþùèå ïàðàìåòðû íàñòðîéêè TypoScript: # disable cropping for all images tt_content.image.20.1. file .crop = # override or set cropping for all images # offsetX ,offsetY ,width,height tt_content.image.20.1. file .crop = 50,50,100,100 Fluid òàêæå ïîääåðæèâàåò ôóíêöèè îáðåçêè: # disable cropping for all images f :image image={imageObject} crop= /f :image # override or set cropping for all images # offsetX ,offsetY ,width,height f :image image={imageObject} crop=50,50,100,100 /f :image TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 42. Ãëóáèííûå èçìåíåíèÿ Ïàðàìåòðû íàñòîéêè äëÿ èçìåíåíèÿ èçîáðàæåíèé (2) TCA òàêæå ïîääåðæèâàåò ôóíêöèè îáðåçêè èçîáðàæåíèé: Column Type: image_manipulation Cong le_eld: string (default: uid_local) Cong enableZoom: boolean (default: FALSE) Cong allowedExtensions: string (default: $GLOBALS['TYPO3_CONF_VARS']['GFX']['imagele_ext']) Cong ratios: array, default: array( '1.7777777777777777' = '16:9', '1.3333333333333333' = '4:3 ' , '1' = '1:1 ' , 'NaN' = 'Free' ) TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 43. Ãëóáèííûå èçìåíåíèÿ Äîïîëíèòåëüíûå ïàðàìåðòû äëÿ HTMLparser userFunc  userFunc äëÿ HTMLparser ìîãóò áûòü ïåðåäàíû äîïîëíèòåëüíûå ïàðàìåòðû: myobj = TEXT myobj. value = a href=/ class=myclassMyText/a myobj.HTMLparser. tags . a . fixAttrib . class { userFunc = TxMyExtMyclass-htmlUserFunc userFunc .myparam = test } Äîñòóï ê ýòèì ïàðàìåòðàì â ðàñøèðåíèÿõ ïðîèñõîäèò òàê: function htmlUserFunc(array $params, HtmlParser $htmlParser) { // $params[ ' attributeValue ' ] contains the attribute value myclass // $params[ 'myparam' ] i s set to test in this example . . . } TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 44. Ãëóáèííûå èçìåíåíèÿ Locking API (1) Áûë ïðåäñòàâëåí íîâûé API áëîêèðîâêè, ïðåäîñòàâëÿþùèé ðàçíûå ìåòîäû áëîêèðîâêè (SimpleFile, Semaphore, ...) Ìåòîä áëîêèðîâêè äîëæåí ðåàëèçîâûâàòü LockingStrategyInterface: $lockFactory = GeneralUtility ::makeInstance(LockFactory:: class); $locker = $lockFactory-createLocker( 'someId') ; $locker-acquire() || die('Could not acquire lock. ') ; ... $locker-release() ; TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 45. Ãëóáèííûå èçìåíåíèÿ Locking API (2) Íåêîòîðûå ìåòîäû òàêæå ïîääåðæèâàþò íå áëîêèðóþùèå îñòàíîâêè: $lockFactory = GeneralUtility : : makeInstance(LockFactory : : class ) ; $locker = $lockFactory-createLocker ( 'someId' , LockingStrategyInterface : :LOCK_CAPABILITY_SHARED | LockingStrategyInterface : :LOCK_CAPABILITY_NOBLOCK ) ; try { $result = $locker-acquire ( LockingStrategyInterface : :LOCK_CAPABILITY_SHARED | LockingStrategyInterface : :LOCK_CAPABILITY_NOBLOCK) ; catch (RuntimeException $e) { i f ($e-getCode() === 1428700748) { // some process owns the lock // let ' s do something else meanwhile . . . } } i f ( $result ) { $locker-release () ; } TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 46. Ãëóáèííûå èçìåíåíèÿ Ñèãíàë ïîñëå óñòàíîâêè ðàñøèðåíèÿ Áûë ðåàëèçîâàí íîâûé ñèãíàë â ìåòîäå TYPO3CMSExtensionmanagerUtilityInstallUtility::install() âîçíèêàþùèé ïîñëå óñòàíîâêè ðàñøèðåíèÿ è çàâåðøåíèÿ âñåãî èìïîðòà/îáíîâëåíèÿ // execution $this-emitAfterExtensionInstallSignal ($extensionKey) ; // methode protected function emitAfterExtensionInstallSignal ($extensionKey) { $this-signalSlotDispatcher-dispatch ( __CLASS__, ' afterExtensionInstall ' , array($extensionKey , $this ) ) ; } TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 47. Ãëóáèííûå èçìåíåíèÿ Ðååñòð äëÿ èçâëå÷åíèÿ òåêñòà (1) Âîçìîæíà ðåãèñòðàöèÿ íåñêîëüêèõ äîáûò÷èêîâ òåêñòîâ äëÿ ðàáîòû ñ ðàçíûìè òèïàìè ôàéëîâ (íàïðèìåð, Oce, PDF è ò. ï.) ßäðî TYPO3 óìååò èçâëåêàòü òåêñòû èç îáû÷íûõ òåêñòîâûõ ôàéëîâ Êàæäûé ðåãèñòðèðóåìûé êëàññ äîáûò÷èêà äîëæåí ðåàëèçîâûâàòü TextExtractorInterface ... ñî ñëåäóþùèìè ìåòîäàìè: canExtractText() ïðîâåðÿåò âîçìîæíîñòü èçâëå÷åíèÿ òåêñòà èç óêàçàííîãî ôàéëà extractText() âîçâðàùàåò ñîäåðæèìîå òåêñòà ôàéëà â âèäå ñòðîêè TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 48. Ãëóáèííûå èçìåíåíèÿ Ðååñòð äëÿ èçâëå÷åíèÿ òåêñòà (2) Äîáûò÷èê òåêòñà ðåãèñòðèðóåòñÿ â ôàéëå ext_localconf.php: $textExtractorRegistry = TYPO3CMSCoreResourceTextExtraction TextExtractorRegistry : : getInstance () ; $textExtractorRegistry-registerTextExtractor ( TYPO3CMSCoreResourceTextExtractionPlainTextExtractor : : class ) ; È èñïîëüçóåòñÿ ñëåäóþùèì îáðàçîì: $textExtractorRegistry = TYPO3CMSCoreResourceTextExtraction TextExtractorRegistry : : getInstance () ; $extractor = $textExtractorRegistry-getTextExtractor( $ f i l e ) ; i f ( $extractor !== NULL) { $content = $extractor-extractText( $ f i l e ) ; } TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 49. Ãëóáèííûå èçìåíåíèÿ Ðàçíîå Ñåòåâûå áèáëèîòåêè (âðîäå Twitter Bootstrap, jQuery, Font Awesome è ò. ä.) èñïîëüçóþò Bower (http://bower.io) è áîëåå íå ÿâëÿþòñÿ ÷àñòüþ Git ðåïîçèòîðèÿ ÿäðà TYPO3 # bower install çàïóñê óñòàíîâêè # bower update çàïóñê îáíîâëåíèÿ (le bower.json ðàñïîëàãàåòñÿ â äèðåêòîðèè Build/) Scheduler CLI èìååò ïàðàìåòð -s äëÿ îñòàíîâêè ðàáîòàþùåé çàäà÷è Îáðàáàòûâàåìàÿ ïàïêà (äèñòàíöèîííîãî) õðàíèëèùà ìîæåò íàõîäèòüñÿ çà ïðåäåëàìè õðàíèëèùà (ïîëåçíî äëÿ, íàïðèìåð, õðàíèëèùà ñ ïðàâàìè ëèøü íà ÷òåíèå) Òåïåðü âîçìîæíî ïîëó÷èòü ID èçíà÷àëüíî çàïðàøèâàåìîé ñòðàíèöû: $TSFE-getRequestedId() TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 50. Extbase Fluid Ãëàâà 4: Extbase Fluid TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 51. Extbase Fluid Callouts ïðîòèâ FlashMessages Callouts (áëîêè ñ èíôîðìàöèåé) çàìåíèëè FlashMessages â íåñêîëüêèõ ìåñòàõ âíóòðåííåãî èíòåðôåéñà äëÿ âûâîäà êîíòåêñòíûõ ñîîáùåíèé Îíè èñïîëüçóþò íîâûé Fluid ïðîåêòîð / ViewHelper be.infobox: f :be.infobox title=Message title your box content /f :be.infobox f :be.infobox title=Message title message=your box content state=-2 iconName=check disableIcon=TRUE / TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 52. Extbase Fluid format.case ïðîåêòîð / ViewHelper Íîâûé ïðîåêòîð / ViewHelper format.case ìåíÿåò ðåãèñòð ñòðîê: upper: ïðåîáðàçóåò ñòðîêó â ÂÅÐÕÍÈÉ ÐÅÃÈÑÒÐ lower: ïðåîáðàçóåò ñòðîêó â íèæíèé ðåãèñòð capital: ïðåîáðàçóåò ïåðâóþ áóêâó ñòðîêè â âåðõíèé ðåãèñòð uncapital: ïðåîáðàçóåò ïåðâóþ áóêâó ñòðîêè â íèæíèé ðåãèñòð Íàïðèìåð: // transforms to SOMETEXTWITH MIXED CASE f :format.caseSome TeXt WiTh miXed cAse/f :format.case // transforms to SomeString f :format.case mode=capitalsomeString/f :format.case TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 53. Extbase Fluid Ðàçíîå Ïàðàìåòð cHash íå äîáàâëÿåòñÿ ê URI äåéñòâèé, åñëè òåêóùèé çàïðîñ íå êåøèðóåòñÿ è öåëåâîå äåéñòâèå íå êåøèðóåìîå TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 55. Óñòàðåâøèå/óäàëåííûå ôóíêöèè Ðåîðãàíèçàöèÿ FormEngine (1) Ïðîèçîøëà âàæíàÿ ðåîðãàíèçàöèÿ êëàññîâ FormEngine ñ ïîäêëàññàìè, çàòðîíóâøàÿ ñâîéñòâà è ìåòîäû  TYPO3 CMS 7.2 èãíîðèðóþòñÿ ìíîãèå âíóòðåííèå ñâîéñòâà, âðîäå FormEngine-$defaultInputWidth èëè FormEngine-$RTEenabled ñâîéñòâà FormEngine-$allowOverrideMatrix è SuggestElement-class òåïåðü protected Åñëè ôîðìàò type=none óñòàíîâëåí äëÿ ïîëüçîâàòåëÿ â TCA, íàñòðîåííàÿ userFunc òåïåðü íå ïîëó÷àåò ýêçåìïëÿð FormEngine â âèäå ðîäèòåëüñêîãî îáúåêòà, â â âèäå ýêçåìïëÿðà NoneElement TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 56. Óñòàðåâøèå/óäàëåííûå ôóíêöèè Ðåîðãàíèçàöèÿ FormEngine (2) Ñëåäóþùèå ìåòîäû (è äàëåå) áûëè ðàñöåíåíû êàê óñòàðåâøèå: FormEngine-renderWizards() FormEngine-dbFileIcons() FormEngine-getClipboardElements() FormEngine-getSingleField_typeNone_render() FormEngine-formMaxWidth() FormEngine-addItems() SuggestElement-init() ... Ñîâåò: ïîñìîòðèòå deprecation_*.log äëÿ ïîèñêà ìåñò, ãäå èñïîëüçóþòñÿ ýòè ìåòîäû èç FormEngine â âàøèõ ðàñøèðåíèÿõ. TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 57. Óñòàðåâøèå/óäàëåííûå ôóíêöèè Ðåîðãàíèçàöèÿ FormEngine (3) Áûëè ïåðåèìåíîâàíû ñëåäóþùèå ìåòîäû: ÐÀÍÅÅ: TYPO3CMSBackendFormElementSuggestElement ÒÅÏÅÐÜ:TYPO3CMSBackendFormWizardSuggestWizard ÐÀÍÅÅ: TYPO3CMSBackendFormElementSuggestDefaultReceiver ÒÅÏÅÐÜ:TYPO3CMSBackendFormWizardSuggestWizardDefaultReceiver ÐÀÍÅÅ: TYPO3CMSBackendFormElementVaueSlider ÒÅÏÅÐÜ:TYPO3CMSBackendFormWizardValueSliderWizard TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 58. Óñòàðåâøèå/óäàëåííûå ôóíêöèè Òî÷êè âõîäà âíóòðåííåãî èíòåðôåéñà Èçìåíèëèñü ñëåäóþùèå òî÷êè âõîäà âíóòðåííåãî èíòåðôåéñà: typo3/logout.php (logout) typo3/alt_le_navframe.php (le_navframe) typo3/dummy.php (dummy) typo3/browser.php (browser) typo3/db_new.php (db_new) typo3/show_item.php (show_item) URL ìîæíî îïðåäåëèòü ñëåäóþùèì ïóò¼ì: TYPO3CMSBackendUtilityBackendUtility::getModuleUrl(...) Íàïðèìåð: TYPO3CMSBackendUtilityBackendUtility::getModuleUrl('logout') TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 59. Óñòàðåâøèå/óäàëåííûå ôóíêöèè Ðåîðãàíèçàöèÿ àâòîðèçàöèÿ âî âíóòðåííåì èíòåðôåéñå Ââèäó ðåîðãàíèçàöèè àâòîðèçàöèè âî âíóòðåííåì èíòåðôåéñå, Fluid èñïîëüçóåòñÿ äëÿ øàáëîíà è ñèãíàëà âíóòðåííåãî èíòåðôåéñà, è LoginController::SIGNAL_RenderLoginForm áûëà óäàëåíà Äîïîëíèòåëüíî, ñëåäóþùèå ìåòîäû LoginController óäàëåíû: LoginController::makeLoginBoxImage LoginController::wrapLoginForm LoginController::makeLoginNews LoginController::makeLoginForm LoginController::makeLogoutForm TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 60. Óñòàðåâøèå/óäàëåííûå ôóíêöèè Ðàçíîå (1)  TYPO3 CMS 7.2 URI ìîäóëåé, îðãàíèçóåìûå ÷åðåç mod.php õðàíèëèñü â âèäå ìàññèâà â ãëîáàëüíîé ïåðåìåííîé $GLOBALS['MCONF']['_']. Ýòî óäàëåíî áåç ïîäñòàíîâêè, ïðè ýòîì ðàñøèðåíèÿ äîëæíû âìåñòî ýòîãî èñïîëüçîâàòü BackendUtility::getModuleUrl() instead. Ïàðàìåòð äëÿ ïîëó÷åíèÿ ëîêàëüíîãî ïóòè ôàéëà FAL ÷åðåç TypoScript áûë óäàë¼í: a.value.data = le:current:localPath Ñëåäóþùèå tt_content TCA ïîëÿ áûëè ïåðåíåñåíû â EXT:compatibility6: altText imagecaption imagecaption_position image_link longdescURL titleText TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 61. Óñòàðåâøèå/óäàëåííûå ôóíêöèè Ðàçíîå (2) Ñòîðîííÿÿ áèáëèîòåêà websvg áûëà óäàëåíà èç ÿäðà TYPO3 CMS. Òàêæå, áåç âîçìîæíîñòè îòêàòà áûëè óäàëåíû ñîîòâåòñòâóþùèå ïàðàìåðòû TypoScript (page.javascriptLibs.SVG.*) è ïóáëè÷íûå ìåòîäû âíóòðè PageRenderer. Íàïðèìåð: $pageRenderer-loadSvg() Ñëåäóþùèé êëþ÷ èç mod.web_info.menu.function áûë ïåðåèìåíîâàí (÷òî îòðàçèëîñü íà PageTScong): tx_cms_webinfo_page - TYPO3CMSFrontendControllerPageInformationController tx_cms_webinfo_lang - TYPO3CMSFrontendControllerTranslationStatusController tx_belog_webinfo - TYPO3CMSBelogModuleBackendLogModuleBootstrap tx_infopagetsconfig_webinfo - TYPO3CMSInfoPagetsconfigController InfoPageTyposcriptConfigController tx_linkvalidator_ModFuncReport - TYPO3CMSLinkvalidatorReportLinkValidatorReport TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 62. Óñòàðåâøèå/óäàëåííûå ôóíêöèè Ðàçíîå (3) Ïàðàìåòð $returnHTML ìåòîäà TYPO3CMSCoreUtilityDebugUtility::debugRows() òåïåðü íå èñïîëüçóåòñÿ è áûë ïîìå÷åí, êàê óñòàðåâøèé Ïàðàìåòð TypoScript cong.prexLocalAnchors áûë ïîìå÷åí, êàê óñòàðåâøèé íàðÿäó ñ ñîîòâåòñòâóþùèìè ìåòîäàìè â TypoScriptFrontendContoller: prexLocalAnchorsWithScript() è doLocalAnchorFix() Ïóáëè÷íûé ìåòîä $TSFE-checkFileInclude() â ãëîáàëüíîì FrontendController òåïåðü óñòàðåâøèé. Âìåñòî ýòîãî èñïîëüçóéòå autoloader èëè $TSFE-tmpl-getFileName(). TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 63. Óñòàðåâøèå/óäàëåííûå ôóíêöèè Ðàçíîå (4) Äâà cObjects COBJ_ARRAY (ïñåâäîíèì äëÿ COA) è CASEFUNC (ïñåâäîíèì äëÿ CASE) áûëè ïåðåíåñåíû â ðàñøèðåíèå EXT:compatibility6 (è ïîìå÷åíû êàê óñòàðåâøèå), è ïî óìë÷àíèþ áîëåå íåäîñòóïíû Ñâîéñòâî DataHandler stripslashes_values îòìå÷åíî êàê óñòàðåâøåå ThumbnailView, êàê è thumbs.php è BackendUtility::getThumbNail() òåïåðü óñòàðåâøèå è áóäóò óäàëåíû â TYPO3 CMS âåðñèè 8 (ñìîòðèòå BackendUtility::thumbCode() äëÿ ìèãðàöèè) TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 64. Óñòàðåâøèå/óäàëåííûå ôóíêöèè Ðàçíîå (5) Îáëàñòü èì¼í mod.tx_linkvalidator äëÿ LinkValidator Scheduler Task èçìåíåíà íà mod.linkvalidator äëÿ ñîâìåñòèìîñòè íàñòðîåê ñ TScong TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 65. Èñòî÷íèêè è àâòîðû Ãëàâà 6: Èñòî÷íèêè è àâòîðû TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 66. Èñòî÷íèêè è àâòîðû Èñòî÷íèêè(1) Íîâîñòè TYPO3: http://typo3.org/news Èíôîðìàöèÿ ïî âûõîäó âåðñèé: http://wiki.typo3.org/TYPO3_CMS_7.2.0 INSTALL.md è ChangeLog typo3/sysext/core/Documentation/Changelog/7.2/* TYPO3 Bug-/Issuetracker: https://forge.typo3.org/projects/typo3cms-core Ðåïîçèòîðèè TYPO3 Git: https://git.typo3.org/Packages/TYPO3.CMS.git https://git.typo3.org/Packages/TYPO3.Fluid.git TYPO3 CMS 7.2 - îáíîâëåíèÿ
  • 67. Èñòî÷íèêè è àâòîðû Ñëàéäû íîâîââåäåíèé TYPO3 CMS: Patrick Lobacher (Èññëåäîâàíèÿ, ñáîð èíôîðìàöèè è íåìåöêàÿ âåðñèÿ) Michael Schams (Ëèäåð ïðîåêòà è àíãëèéñêàÿ âåðñèÿ) Ïåðåâîä÷èêè: Àíäðåé Àêñ¼íîâ, Paul Blondiaux, Sergio Catala, Michel Mix, Sinisa Mitrovic, Angeliki Plati, Nena Jelena Radovic è Roberto Torresani http://typo3.org/download/release-notes/whats-new Licensed under Creative Commons BY-NC-SA 3.0 TYPO3 CMS 7.2 - îáíîâëåíèÿ