Typo3 v7-2-whats-new.russian
-
Upload
oleg-karun -
Category
Technology
-
view
178 -
download
0
Transcript of Typo3 v7-2-whats-new.russian
TYPO3 CMS 7.2 - îáíîâëåíèÿÍîâîââåäåíèÿ, èçìåíåíèÿ è èñïðàâëåíèÿ
Àâòîðû:Patrick Lobacher b Michael Schams
12/May/2015Creative Commons BY-NC-SA 3.0
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Îáçîð ãëàâ
ÂâåäåíèåBackend / Âíóòðåííèé èíòåðôåéñTScon�g è TypoScript
Ãëóáèííûå èçìåíåíèÿExtbase & FluidÓñòàðåâøèå/óäàëåííûå ôóíêöèèÈñòî÷íèêè è àâòîðû
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Ââåäåíèå
TYPO3 CMS 7.2 - ôàêòû
Äàòà âûõîäà: 28 April 2015Òèï: "Sprint Release"Âèäåíèå: îõâàò, èííîâàöèè, äîñòóïíîñòüÔîêóñ: Âíåøíèé èíòåðôåéñ / Frontend
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Ââåäåíèå
Ñèñòåìíûå òðåáîâàíèÿ
PHP*: 5.5.0 - 5.6.xMySQL: 5.5.x - 5.6.x (no strict mode)Äèñêîâîå ïðîñòðàíñòâî: 200 ÌÁ ìèí.PHP íàñòðîéêè:
memory_limit >= 128Mmax_execution_time >= 240scompilation option �disable-ipv6 íå äîëæíî èñïîëüçîâàòüñÿ
Âíóòðåííèé èíòåðôåéñ òðåáóåò IE >= 9 èëè ëþáîé äðóãîéñîâðåìåííûé áðàóçåð
*) Ïîäðîáíîñòè: PHP Minimum Requirements for TYPO3 CMS 7
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Ââåäåíèå
TYPO3 CMS äîðîæíàÿ êàðòà
Ïðèìåðíûå äàòû âûõîäà è èõ îñíîâíîé ôîêóñ:
v7.0 02/äåê/2014 Ïåðåðàáîòêà âíóòðåííåãî èíòåðôåéñà ÷àñòü 1v7.1 24/ôåâ/2015 ×èñòêà ÿäðà è îïòèìèçàöèÿv7.2 28/àïð/2015 Âíåøíèé èíòåðôåéñv7.3 09/èþíü/2015 Ýêîñèñòåìà ïàêåòîâ, Composer
è ðàáîòà ñ ðàñøèðåíèÿìèv7.4 04/àâã/2015 Backend Overhaul Vol 2v7.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 LTSTYPO3 CMS < 6.2 äîëæíû áûòü îáíîâëåíû ñíà÷àëà äî TYPO3CMS 6.2 LTS
Èíñòðóêöèè ïî îáíîâëåíèþ:http://wiki.typo3.org/Upgrade#Upgrading_to_7.2
Îôèöèàëüíîå ðóêîâîäñòâî TYPO3 "TYPO3 Installation andUpgrading": http://docs.typo3.org/typo3cms/InstallationGuideÎáùèé ïîäõîä:
Ïðîâåðêà ìèíèìàëüíûõ ñèñòåìíûõ òðåáîâàíèé (PHP, MySQL, etc.)Ïðîñìîòð deprecation_*.log â ñòàðîé âåðñèè TYPO3
Îáíîâëåíèå âñåõ ðàñøèðåíèé äî ïîñëåäíåé âåðñèè
Çàãðóçêà íîâûõ èñõîäíûõ ôàéëîâ è çàïóñê Install Tool �Upgrade
Wizard
Çàïóñê ìîäóëÿ îáçîðà äëÿ âíóòðåííèõ ïîëüçîâàòåëåé (îïöèîíàëüíî)
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 - îáíîâëåíèÿ
TScon�g è TypoScript
Ãèáêàÿ íàñòðîéêà ïðîñìîòðà URL (1)
Òåïåðü âîçìîæíî íàñòðîèòü ïðîñìîòð ññûëîê, ôîðìèðóåìûõ äëÿêíîïêè"ñîõðàíèòü è ïðîñìîòðåòü / save & view" âíóòðåííåãî èíòåðôåéñà.Ðàçðàáàòûâàëîñü, êàê âîçìîæíîñòü ïðåäïðîñìîòðà äëÿ çàïèñåéíîâîñòåé èëè áëîãà, íî ìîæíî îïðåäåëèòü ðàçíûå ñòðàíèöû äëÿïðåäïðîñìîòðà îáû÷íûõ ýëåìåíòîâ ñîäåðæèìîãî.TCEMAIN.preview {<table name> {
previewPageId = 123useDefaultLanguageRecord = 0fieldToParameterMap {uid = tx_myext_pi1[showUid]
}additionalGetParameters {tx_myext_pi1[ special ] = HELLO
}}
}
TYPO3 CMS 7.2 - îáíîâëåíèÿ
TScon�g è TypoScript
Ãèáêàÿ íàñòðîéêà ïðîñìîòðà URL (2)
previewPageId:UID ñòðàíèöû, èñïîëüçóåìîé äëÿ ïðåäïðîñìîòðà
(åñëè íå óêàçàíî, èñïîëüçóåòñÿ òåêóùàÿ ñòðàíèöà)
useDefaultLanguageRecord:óêàçûâàåò, ÷òî çàïèñü ïåðåâîäà áóäåò èñïîëüçîâàòü UID çàïèñè ïî
óìîë÷àíèþ
(ïî óìîë÷àíèþ çàäåéñòâîâàíî, çíà÷åíèå: 1)
�eldToParameterMap:ðàçìåòêà, ïîçâîëÿþùàÿ âûáðàòü ïîëÿ çàïèñè, âêëþ÷àåìûå â âèäå
ïàðàìåòðîâ GET
additionalGetParameters:ïîçâîëÿåò äîáàâèòü ïðîèçâîëüíûå ïàðàìåòðû GET è äàæå èõ
ïåðåíàçíà÷èòü
TYPO3 CMS 7.2 - îáíîâëåíèÿ
TScon�g è TypoScript
Íàñòðîéêà RTE: öåëü ïî óìîë÷àíèþ
Ñâîéñòâî íàñòðîåê RTE äëÿ PageTScon�g ïîçâîëÿåò íàñòðîèòüöåëü ïî óìîë÷àíèþ äëÿ ññûëîê ðàçëè÷íîãî òèïà
buttons.link.[ type ].properties.target.default = ...
Âîçìîæíûå òèïû ññûëîê:(äðóãèå ìîãóò áûòü äîáàâëåíû ÷åðåç ðàñøèðåíèÿ)
page�leurlmailspec
TYPO3 CMS 7.2 - îáíîâëåíèÿ
TScon�g è TypoScript
Óäàëåíèå ïóñòûõ òåãîâ HTML â HTMLparser
 HTMLparser ïðèìåíÿåòñÿ íîâûé ôóíêöèîíàë, ïîçâîëÿþùèéóäàëÿòü ïóñòûå òåãè HTMLstdWrap {
// this removes al l empty HTML tagsHTMLparser.stripEmptyTags = 1// this removes empty h2 and h3 tags onlyHTMLparser.stripEmptyTags. tags = h2, h3
}
RTE. default .proc .entryHTMLparser_db {stripEmptyTags = 1stripEmptyTags. tags = pstripEmptyTags.treatNonBreakingSpaceAsEmpty = 1
}
Note: HTMLparser ïî óìîë÷àíèþ óäàëÿåò âñå èçâåñòíûå òåãè.Ïîýòîìó èíîãäà ïîëåçíî áóäåò îñòàâÿòü âñå íåèçâåñòíûå:HTMLparser.keepNonMatchedTags = 1
TYPO3 CMS 7.2 - îáíîâëåíèÿ
TScon�g è TypoScript
Äðóãîå
Äëÿ íàñòðîéêè äèàëîãà àááðåâèàòóð â PageTScon�g ìîæíîâîñïîëüçîâàòüñÿ íîâûì ñâîéñòâîìbuttons.abbreviation.removeFieldsets
# Possible values are :# acronym, definedAcronym, abbreviation , definedAbbreviationbuttons . abbreviation . removeFieldsets = acronym,definedAcronym
Ñâîéñòâî inlineLanguageLabel îáúåêòà PAGE òåïåðü ìîæåòîáðàáàòûâàòüLLL: ññûëêè
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Ãëóáèííûå èçìåíåíèÿ
Ïîääåðæêà SVG â ÿäðå
ßäðî TYPO3 CMS òåïåðü ïîääåðæèâàåò èçîáðàæåíèÿ SVG("Scalable Vector Graphics")
Ïðè ìàñøòàáèðîâàíèè èçîáðàæåíèÿ SVG, âìåñòî ñîçäàíèÿèçìåí¼ííîãî ôàéëà, çàïèñü ñ âû÷èñëåííûìè íîâûìè ðàçìåðàìèñîõðàíÿåòñÿ â sys_�le_processed�le(åñëè òîëüêî èçîáðàæåíèå íå îáðàáàòûâàåòñÿ äàëåå, íàïðèìåð,îáðåçàåòñÿ).
Äîáàâëåíà âîçìîæíîñòü óêàçàíèÿ ðàçìåðîâ SVG äëÿ ñëó÷àÿ,êîãäà ImageMagick/GraphicsMagick íå ìîæåò îïðåäåëèòü èõñàìîñòîÿòåëüíî. Ïðè ýòîì ÷èòàåòñÿ ñîäåðæèìîå ôàéëà XML.
SVG òàêæå áûë äîáàâëåí ê ñïèñêó ðàñøèðåíèé ôàéëîâ äëÿèçîáðàæåíèé:$GLOBALS['TYPO3_CONF_VARS']['GFX']['image�le_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)
Ìàðøðóòû îïðåäåëÿþòñÿ â ñëåäóþùåì ôàéëå ðàñøèðåíèÿ:Con�guration/Backend/Routes.php(â êà÷åñòâå ïðèìåðà ñìîòðèòå ñèñòåìíîå ðàñøèðåíèå backend)
Äîïîëíèòåëüíûå ñâåäåíèÿ îá Backend Routing API:http://wiki.typo3.org/Blueprints/BackendRouting
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Ãëóáèííûå èçìåíåíèÿ
Íîâîå ñèñòåìíîå ðàñøèðåíèå äëÿ ìåäèà ýëåìåíòîâ ñîäåðæèìîãî
Íîâîå ñèñòåìíîå ðàñøèðåíèå "mediace" ñîäåðæèò ñëåäóþùèåcObjects:
MULTIMEDIAMEDIASWFOBJECTFLOWPLAYERQTOBJECT
Ýëåìåíòû ñîäåðæèìîãî 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 instal l
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Ãëóáèííûå èçìåíåíèÿ
Óâåäîìëåíèÿ JavaScript
Èñïîëüçóåòñÿ íîâûé API JavaScript óâåäîìëåíèé:
// old and deprecated :top .TYPO3.Flashmessages . display(TYPO3. Severity . notice)
// new and the only correct way since TYPO3CMS 7.2:top .TYPO3.Notification . notice( t it le , message)
Èìåþòñÿ ñëåäóþùèå ôóíêöèè API:(ïàðàìåòð duration íåîáÿçàòåëåí, çíà÷åíèå ïî óìîë÷àíèþ 5 ñåêóíä)
top.TYPO3.Noti�cation.notice(title, message, duration)
top.TYPO3.Noti�cation.info(title, message, duration)
top.TYPO3.Noti�cation.success(title, message, duration)
top.TYPO3.Noti�cation.warning(title, message, duration)
top.TYPO3.Noti�cation.error(title, message, duration)
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Ãëóáèííûå èçìåíåíèÿ
Âûïàäàþùèé ñïèñîê ñèñòåìíîé èíôîðìàöèè (1)
Âîçìîæíî äîáàâèòü ýëåìåíòû ñèñòåìíîé èíôîðìàöèè êâûïàäàþùåìó ñïèñêó, ïóò¼ì ñîçäàíèÿ ñëîòàÑëîò íåîáõîäèìî çàðåãèñòðèðîâàòü â ôàéëå ext_localconf.php:
$signalSlotDispatcher = \TYPO3\CMS\Core\Utility\GeneralUtility : :makeInstance(\TYPO3\CMS\Extbase\SignalSlot\Dispatcher : : class ) ;
$signalSlotDispatcher->connect(\TYPO3\CMS\Backend\Backend\ToolbarItems\SystemInformationToolbarItem : : class ,'getSystemInformation ' ,\Vendor\Extension\SystemInformation\Item : : class ,'getItem '
) ;
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Ãëóáèííûå èçìåíåíèÿ
Âûïàäàþùèé ñïèñîê ñèñòåìíîé èíôîðìàöèè (2)
Âîçìîæíî äîáàâèòü ýëåìåíòû ñèñòåìíîé èíôîðìàöèè êâûïàäàþùåìó ñïèñêó, ïóò¼ì ñîçäàíèÿ ñëîòà
Íåîáõîäèì êëàññ Item ñ ìåòîäàìè getItem() â ôàéëåEXT:extension\Classes\SystemInformation\Item.php:
class Item {public function getItem() {return array(array(
' tit le ' => 'The t i t le shown on hover ' ,'value ' => 'Description shown in the l ist ' ,' status ' => SystemInformationHookInterface : :STATUS_OK,'count ' => 4,' icon ' => \TYPO3\CMS\Backend\Utility\IconUtility : : getSpriteIcon(
'extensions -example- information - icon '))) ;
}}
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Ãëóáèííûå èçìåíåíèÿ
Âûïàäàþùèé ñïèñîê ñèñòåìíîé èíôîðìàöèè (3)
Çíà÷îê extensions-example-information-icon äîëæåí áûòüçàðåãèñòðèðîâàí â ext_localconf.php:
\TYPO3\CMS\Backend\Sprite\SpriteManager : : addSingleIcons(array(
' information - icon ' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility : :extRelPath(
$_EXTKEY) . 'Resources/Public/Images/Icons/information - icon .png') ,
$_EXTKEY) ;
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Ãëóáèííûå èçìåíåíèÿ
Âûïàäàþùèé ñïèñîê ñèñòåìíîé èíôîðìàöèè (4)
Ñîîáùåíèÿ âûâîäÿòñÿ â íèæíåé ÷àñòè âûïàäàþùåãî ñïèñêàÐàñøèðåíèÿ ìîãóò äîáàâëÿòü ñâîè ñëîòû ñ èíôîðìàöèåé:$signalSlotDispatcher = \TYPO3\CMS\Core\Utility\GeneralUtility : :makeInstance(\TYPO3\CMS\Extbase\SignalSlot\Dispatcher : : class ) ;
$signalSlotDispatcher->connect(\TYPO3\CMS\Backend\Backend\ToolbarItems\SystemInformationToolbarItem : : class ,'loadMessages ' ,\Vendor\Extension\SystemInformation\Message : : class ,'getMessage '
) ;
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Ãëóáèííûå èçìåíåíèÿ
Âûïàäàþùèé ñïèñîê ñèñòåìíîé èíôîðìàöèè (5)
Ñîîáùåíèÿ âûâîäÿòñÿ â íèæíåé ÷àñòè âûïàäàþùåãî ñïèñêà
Íåîáõîäèì êëàññ Message ñ ìåòîäîì getMessage() â ôàéëåEXT:extension\Classes\SystemInformation\Message.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 a l l imagestt_content . image.20.1. f i l e . crop =
# override or set cropping for a l l images# offsetX , offsetY ,width, heighttt_content . image.20.1. f i l e . crop = 50,50,100,100
Fluid òàêæå ïîääåðæèâàåò ôóíêöèè îáðåçêè:
# disable cropping for a l l images<f : image image="{imageObject}" crop="" ></f : image>
# override or set cropping for a l l 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_manipulationCon�g �le_�eld: string (default: uid_local)Con�g enableZoom: boolean (default: FALSE)Con�g allowedExtensions: string(default: $GLOBALS['TYPO3_CONF_VARS']['GFX']['image�le_ext'])Con�g 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 = TEXTmyobj. value =<a href="/" class="myclass">MyText</a>myobj.HTMLparser. tags .a. fixAttrib . class {userFunc = Tx\MyExt\Myclass->htmlUserFuncuserFunc.myparam = test
}
Äîñòóï ê ýòèì ïàðàìåòðàì â ðàñøèðåíèÿõ ïðîèñõîäèò òàê:function htmlUserFunc(array $params, HtmlParser $htmlParser) {// $params[ ' attributeValue ' ] contains the attribute value "myclass"// $params[ 'myparam' ] is 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 - îáíîâëåíèÿ
Ãëóáèííûå èçìåíåíèÿ
Ñèãíàë ïîñëå óñòàíîâêè ðàñøèðåíèÿ
Áûë ðåàëèçîâàí íîâûé ñèãíàë â ìåòîäå\TYPO3\CMS\Extensionmanager\Utility\InstallUtility::install()
âîçíèêàþùèé ïîñëå óñòàíîâêè ðàñøèðåíèÿ è çàâåðøåíèÿâñåãî èìïîðòà/îáíîâëåíèÿ
// execution$this->emitAfterExtensionInstallSignal($extensionKey) ;
// methodeprotected function emitAfterExtensionInstallSignal($extensionKey) {$this->signalSlotDispatcher->dispatch(__CLASS__,'afterExtensionInstall ' ,array($extensionKey , $this)
) ;}
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Ãëóáèííûå èçìåíåíèÿ
Ðååñòð äëÿ èçâëå÷åíèÿ òåêñòà (1)
Âîçìîæíà ðåãèñòðàöèÿ íåñêîëüêèõ äîáûò÷èêîâ òåêñòîâ äëÿ ðàáîòûñ ðàçíûìè òèïàìè ôàéëîâ (íàïðèìåð, O�ce, PDF è ò. ï.)ßäðî TYPO3 óìååò èçâëåêàòü òåêñòû èç îáû÷íûõ òåêñòîâûõôàéëîâÊàæäûé ðåãèñòðèðóåìûé êëàññ äîáûò÷èêà äîëæåí ðåàëèçîâûâàòüTextExtractorInterface
... ñî ñëåäóþùèìè ìåòîäàìè:canExtractText()ïðîâåðÿåò âîçìîæíîñòü èçâëå÷åíèÿ òåêñòà èç óêàçàííîãî ôàéëàextractText()âîçâðàùàåò ñîäåðæèìîå òåêñòà ôàéëà â âèäå ñòðîêè
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Ãëóáèííûå èçìåíåíèÿ
Ðååñòð äëÿ èçâëå÷åíèÿ òåêñòà (2)
Äîáûò÷èê òåêòñà ðåãèñòðèðóåòñÿ â ôàéëå ext_localconf.php:
$textExtractorRegistry = \TYPO3\CMS\Core\Resource\TextExtraction\TextExtractorRegistry : : getInstance() ;
$textExtractorRegistry->registerTextExtractor(\TYPO3\CMS\Core\Resource\TextExtraction\PlainTextExtractor : : class
) ;
È èñïîëüçóåòñÿ ñëåäóþùèì îáðàçîì:$textExtractorRegistry = \TYPO3\CMS\Core\Resource\TextExtraction\
TextExtractorRegistry : : getInstance() ;$extractor = $textExtractorRegistry->getTextExtractor( $f i le ) ;i f ($extractor !== NULL) {$content = $extractor->extractText( $f i le ) ;
}
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
Callouts ïðîòèâ FlashMessages
Callouts (áëîêè ñ èíôîðìàöèåé) çàìåíèëè FlashMessages âíåñêîëüêèõ ìåñòàõ âíóòðåííåãî èíòåðôåéñà äëÿ âûâîäàêîíòåêñòíûõ ñîîáùåíèéÎíè èñïîëüçóþò íîâûé Fluid ïðîåêòîð / ViewHelper be.infobox:
<f :be. infobox t i t l e="Message t i t l e">your box content
</f :be . infobox>
<f :be . infoboxt i t l e="Message t i t l e"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 "SOMETEXTWITHMIXEDCASE"<f : format . case>Some TeXt WiTh miXed cAse</f : format . case>
// transforms to "SomeString"<f : format . case mode="capital">someString</f : format . case>
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Extbase & Fluid
Ðàçíîå
Ïàðàìåòð cHash íå äîáàâëÿåòñÿ ê URI äåéñòâèé, åñëè òåêóùèéçàïðîñ íå êåøèðóåòñÿ è öåëåâîå äåéñòâèå íå êåøèðóåìîå
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)
Áûëè ïåðåèìåíîâàíû ñëåäóþùèå ìåòîäû:
ÐÀÍÅÅ: \TYPO3\CMS\Backend\Form\Element\SuggestElementÒÅÏÅÐÜ: \TYPO3\CMS\Backend\Form\Wizard\SuggestWizard
ÐÀÍÅÅ: \TYPO3\CMS\Backend\Form\Element\SuggestDefaultReceiverÒÅÏÅÐÜ: \TYPO3\CMS\Backend\Form\Wizard\SuggestWizardDefaultReceiver
ÐÀÍÅÅ: \TYPO3\CMS\Backend\Form\Element\VaueSliderÒÅÏÅÐÜ: \TYPO3\CMS\Backend\Form\Wizard\ValueSliderWizard
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 ìîæíî îïðåäåëèòü ñëåäóþùèì ïóò¼ì:\TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl(...)
Íàïðèìåð:\TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl('logout')
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Óñòàðåâøèå/óäàëåííûå ôóíêöèè
Ðåîðãàíèçàöèÿ àâòîðèçàöèÿ âî âíóòðåííåì èíòåðôåéñå
Ââèäó ðåîðãàíèçàöèè àâòîðèçàöèè âî âíóòðåííåì èíòåðôåéñå,Fluid èñïîëüçóåòñÿ äëÿ øàáëîíà è ñèãíàëà âíóòðåííåãîèíòåðôåéñà, è LoginController::SIGNAL_RenderLoginForm áûëàóäàëåíà
Äîïîëíèòåëüíî, ñëåäóþùèå ìåòîäû LoginController óäàëåíû:
LoginController::makeLoginBoxImageLoginController::wrapLoginFormLoginController::makeLoginNewsLoginController::makeLoginFormLoginController::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 áûëïåðåèìåíîâàí (÷òî îòðàçèëîñü íà PageTScon�g):
tx_cms_webinfo_page -> TYPO3\CMS\Frontend\Controller\PageInformationControllertx_cms_webinfo_lang -> TYPO3\CMS\Frontend\Controller\TranslationStatusControllertx_belog_webinfo -> TYPO3\CMS\Belog\Module\BackendLogModuleBootstraptx_infopagetsconfig_webinfo -> TYPO3\CMS\InfoPagetsconfig\Controller\
InfoPageTyposcriptConfigControllertx_linkvalidator_ModFuncReport -> TYPO3\CMS\Linkvalidator\Report\LinkValidatorReport
TYPO3 CMS 7.2 - îáíîâëåíèÿ
Óñòàðåâøèå/óäàëåííûå ôóíêöèè
Ðàçíîå (3)
Ïàðàìåòð $returnHTML ìåòîäà\TYPO3\CMS\Core\Utility\DebugUtility::debugRows() òåïåðü íåèñïîëüçóåòñÿ è áûë ïîìå÷åí, êàê óñòàðåâøèé
Ïàðàìåòð TypoScript con�g.pre�xLocalAnchors áûë ïîìå÷åí,êàê óñòàðåâøèé íàðÿäó ñ ñîîòâåòñòâóþùèìè ìåòîäàìè âTypoScriptFrontendContoller:pre�xLocalAnchorsWithScript() è 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 äëÿ ñîâìåñòèìîñòè íàñòðîåê ñTScon�g
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 - îáíîâëåíèÿ