Tinymce integration - tinymce

I want to use TinyMCE for text editing. My folder structure is like...
|------- css <-- here I keep all the css files of my website.
|------- js <-- here I keep all the javascripts of my website.
|------- img <-- here I keep all the images of my website.
|------- index.php <-- It is my index page in website root
|------- admin
|-------|------- index.php <-- It is my admin folder
My problem is when I am using TinyMCE in my admin/index.php to edit some articles and insert an image the path is being saved in the database is ../img/someimage.jpg where index.php in my root folder could not displaying the image as the path should be img/someimage.jpg.
What should I do ?

You might want to include images in the editor using classes and css (have a look at the tinymce config parameter content_css for styling elements).
otherwise you need to make sure that the image elements in your editor are accessible from all over the network where your editor content will be accessible.

Related

Adding own CSS to TYPO3 backend [v9]

I am trying to add some CSS styles to the TYPO3 backend (v9). I've added the stylesheet and the following line to the ext_tables.php of my own extension (as described in the file typo3/sysext/backend/Classes/Template/DocumentTemplate.php).
$GLOBALS['TBE_STYLES']['skins'][$_EXTKEY]['stylesheetDirectories'] = ['EXT:my_extension/styles.css'];
When I check the configuration, the new entry show up, so that looks fine. But I don't see any style changes to the backend.
Any ideas anyone? Thanks!
As the key value (stylesheetDirectories) indicates, this should point to a directory. It will add all .css files in that directory.
Also, don't set $GLOBALS['TBE_STYLES']['skins'][$_EXTKEY]['stylesheetDirectories'] as a new array, but use $GLOBALS['TBE_STYLES']['skins'][$_EXTKEY]['stylesheetDirectories'][] = 'EXT:my_extension/styles/';. That way other extensions can also add stylesheets without it being overwritten by your extension.

TYPO3 7.6 TCEFORM Custom Layouts doesn't work

I upgraded TYPO3 6 to 7.6.x and now I can't choose custom layouts in the backend for any content elements in the backend. I only see the default options like "layout 1, layout 2". The reason is obviously that my TCEFORM addings doesn't work..
The following typoscript won't have any effect in a ext-template of a page or in the root setup.ts:
TCEFORM.tt_content.layout.altLabels.2 = Test
TCEFORM.tt_content.layout.removeItems = 2,3
TCEFORM.tt_content.layout.addItems.5 = New Item
I know the problem description is a bit inaccurate. But I don't see the relevant infos which u need. Can u give me an advice what I have to check? Are there known conflicts with extension like fluidcontent, css_styled_content or so?
TypoScript configuring the back end is (though TypoScript by syntax) often called TSConfig and can be added either in page records or via user settings but never in extension templates or similar.
Configuring TCEFORM is usually done in page properties. To add, open page properties of your root page (or the topmost page of the subtree you want to configure) and add your code there.
As in front-end TypoScript you can swap your code to external files.
You need to add this typoscript on Root Page in Page TSconfig.
Edit root page properties and add your typoscript in Resources tab in Page TSConfig section like below image, so it's work fine.

TYPO3: How to properly setup RTE in custom content element

I created a custom content element with a "bodytext" field like this:
bodytext;Text;;richtext:rte_transform[flag=rte_enabled|mode=ts_css],
rte_enabled;LLL:EXT:cms/locallang_ttc.xlf:rte_enabled_formlabel
The text editor doesn't work properly. The links for example are formated like this:
<link 88 - internal-link>test</link>
which doesn't work in the frontend.
RTE is also throwing a lot of info and errors in the backend, here is a screenshot of firebug:
If I use a core content element like "text & media" RTE does work perfectly .. So I guess there is some configuration missing in my extension ?
How did you set up your custom content element? In which file did you set up your bodytext field shown above?
The link formatting like <link></link> is the normal and correct behavior of the RTE. By this way, links can be rendered dynamically having the pageid saved and they will still work even if the domain or pagetitle of the target page changes - this would not work if links would be saved "hard" like <a href="xy">.
However, those link tags have to be rendered using the lib.parseFunc_RTE when outputting the content. For example if you use Fluid for output, just use <f:format.html>{yourBodytextVariable}</f:format.html> and you will get correct links (f:format.html uses lib.parseFunc_RTE by default).
Check out your Typoscript Object Browser to find out more about the lib.parseFunc_RTE object and check out this doc: https://docs.typo3.org/typo3cms/TyposcriptReference/Functions/Parsefunc/Index.html

Plone/XDV Related Item Overlay is Empty

I have a Plone 4 site using collective.xdv for the theme. Overlays for the login and contact form work fine.
But if I go to edit > categorization tab and try to add a related item, the overlay is blank. Looking at it in Firebug, the tags are correct down to div.overlaycontent. But inside of that div is my static HTML from the XDV theme's index.html.
Is there a special rule that I need for the overlays?
I cannot use plone.app.theming because this site is using more than just Plone.
In the xdv configuration(or append "##xdv-settings" onto site url), you can add unstyled paths.
I think what you'll need is:
^.*/referencebrowser_popup(\?.*)?$
or
^.*refbrowser_popup(\?.*)?$
If neither of those work, figure out the url that's being requested and add it as an unstyled path.

Test if a file is loaded

Is there a way in phpUnit to test if for example a certain css file is loaded?
In other words, i want to check if a css file is loaded (if possible). I want to make sure the HMTL output has a style tag with a certain css file.
You can do it as
Foe example the page source will display the css file as
<style src="mycss.css" type="text/css"></style>
Then following statement will check that the element present or not
$this->assertTrue($this->isElementPresent("//style[#src='mycss.css']"));