那麼,我正在開發一個插件a,並且我需要在TYPO3頁面加載時從插件顯示一些東西。 有沒有一些函數如何掛鉤動作,就像在WordPress中,當頁面加載比插件會執行一些控制器方法?然後這個控制器會產生一些HTML輸出,我想在前端頁面顯示。特別是我想在頭部顯示自定義腳本。所以腳本應該是這樣的<head>...<script>my content</script>...</head>
如何在正常頁面渲染時調用TYPO3插件
回答
好吧,謝謝你的回答,但它不是很具體。我發現這個解決方案,不是最好的,,但它的工作原理是!如果有人更好,請分享。
首先,您必須爲將從/your-plugin-name/Classes/class.tx_contenthook.php
處掛鉤的班級創建一個文件。文件名必須有這個模式裏面我們將有一個代碼,其中一個方法將被鉤子調用。
class tx_contenthook {
function displayContent(&$params, &$that){
//content of page from param
$content = $params['pObj']->content;
//your content
$inject = '4747474747';
// inject content on
$content = str_replace('</body>', $inject. '</body>', $content);
// save
$params['pObj']->content = $content;
}
}
接下來,我們必須把它叫做掛鉤。所以,讓我們去/your-plugin-name/ext_localconf.php
並在那裏添加這兩行,這使得魔法和處理也緩存。
// hook is called after caching
$TYPO3_CONF_VARS['SC_OPTIONS']['tslib/class.tslib_fe.php']['contentPostProc-output'][] = 'EXT:' . $_EXTKEY . '/Classes/class.tx_contenthook.php:&tx_contenthook->displayContent';
// hook is called before caching
$TYPO3_CONF_VARS['SC_OPTIONS']['tslib/class.tslib_fe.php']['contentPostProc-all'][] = 'EXT:'. $_EXTKEY .'/Classes/class.tx_contenthook.php:&tx_contenthook->displayContent';
我希望這將幫助那些與typo3掙扎的人。
對不起,但這不是一個好方法添加內容。您正在濫用那些用於現有內容後處理的掛鉤。這是一個繞過主要TYPO3模式的快速修復,會導致您的維護麻煩。 – undko
@undko如果你有更好的解決方案,請自由分享。我正在尋找更好的解決方案。謝謝 –
這個答案在許多方面都是錯誤的,並且違反了TYPO3中的正常渲染流程。在這個線程中已經提到了有關構建*擴展*的正確文檔(這就是TYPO3中調用插件的方式)。 –
好吧,你可能想要做的是開發一個所謂的TYPO3擴展 - 這就是TYPO3中調用的插件/插件(這是你可能會發現的術語谷歌結果爲)。
要快速入門,您可以嘗試使用TYPO3擴展程序生成器(https://docs.typo3.org/typo3cms/extensions/extension_builder/) - 它可以爲您生成擴展名。
欲瞭解更多信息,你也可以看看https://docs.typo3.org/typo3cms/CoreApiReference/latest/ExtensionArchitecture/Index.html,它解釋了更詳細的概念。
更多信息,https://docs.typo3.org/typo3cms/ExtbaseFluidBook/Index.html
提供TYPO3有一個名爲插件的東西,但你應該區分在其他上下文中的含義。
第一個TYPO3是一個CMS,其內容以層次結構的頁面結構化。這些頁面是導航的基礎。每個頁面包含單獨的contentelmenents(CE)。由於Susi已經告訴:TYPO3的添加通常是'擴展',可以以不同方式擴展(!)TYPO3的功能性。一種方法是(TYPO3-)插件的定義。這些是特殊的ContentElement,可以顯示特殊信息。
儘管普通的CE具有記錄中顯示的所有信息(例如文本&圖像),但插件可以更靈活。
典型的例子是:顯示一個記錄列表或一個記錄的詳細信息。
這些插件可以用typoscript控制,或者插件-CE可以有附加字段來保存信息顯示內容。
有關如何定義插件的詳細信息,請參閱由Susi提供的鏈接。
並注意:出於安全原因,不可能僅執行普通的PHP文件來回顯任何輸出。您需要使用API註冊您的插件,將您的輸出構建爲字符串並將生成的HTML作爲字符串返回給調用函數。對於初學者來說,ExtensionBuilder將幫助您生成一個良好的擴展,它使用API來註冊和輸出數據。
- 1. 渲染部分在正常頁面
- 2. 在渲染頁面中渲染頁面
- 3. 如何設計在Linux下正常渲染的html頁面?
- 4. TYPO3 Extbase:如何從我的模型渲染頁面樹?
- 5. 如何在渲染頁面時操作頁面?
- 6. 頁面在IE7中正確渲染
- 7. Slickjs in angular,如何在頁面渲染後調用?
- 8. 如何使用api渲染mediawiki頁面?
- 9. 如何在html頁面內渲染Zend_Barcode?
- 10. WordPress的頁面無法正常渲染少數用戶
- 11. BootStrap/JQuery在頁面加載或渲染時調用方法
- 12. Localhost渲染頁面非常慢
- 13. 在頁面加載時渲染布局
- 14. 渲染HTML頁面
- 15. ASP.NET頁面渲染
- 16. css在渲染插件時無法正常工作當我嘗試渲染pdf文件
- 17. Grails在其他頁面渲染頁面
- 18. 在index.html頁面渲染組件
- 19. 在asp.net頁面渲染pdf文件
- 20. PHP頁面沒有正確渲染
- 21. 不正確的頁面渲染
- 22. Grails渲染插件在部署時不渲染圖像
- 23. TYPO3 6.0:渲染從邊境列當前頁面的圖像FAL
- 24. TYPO3 onepager所有渲染所有頁面到一個不工作
- 25. Wordpress - 頁面渲染正常,Web Sniffer返回HTTP響應頭404
- 26. 如何停止渲染頁面/部分
- 27. 如何在TYPO3的插件插入頁面顯示插件項目信息?
- 28. 在呈現reactjs組件的同時渲染ajax調用,而不凍結頁面
- 29. TYPO3 7.6圖像渲染
- 30. TYPO3 EXT:webkitpdf不渲染PDF文件
使downvotes不幫助我解決這個問題 –
我沒有downvote,但你的問題可以肯定受益於進一步的細節,以更好地說明這個問題... – ewcz
你想要達到什麼目的?呈現自己的內容?修改已經存在的內容?還有其他的東西嗎?請更詳細地描述您的使用案例。 – Susi