TYPO3 Forge: Issueshttp://forge.typo3.org/http://forge.typo3.org/themes/typo3_forge/favicon/favicon.png?17058661692023-10-26T09:39:02ZTYPO3 Forge
Redmine TYPO3 Core - Task #102263 (Closed): Return string version of Stringable objects in DataMapper::ge...http://forge.typo3.org/issues/1022632023-10-26T09:39:02ZSoren Mallingsoren@meteko.dk
<p>The DataMapper::getPlainValue expects a object to be a instance of TypeInterface in order to return a plain value.</p>
<p>The TypoInterface holds the `__toString` method - making it `a instance of Stringable`.</p>
<p>Objects/value objects coming from own extensions, not implementing the TypeInterface but being a `Stringable` (either by `implements \Stringable` or having the `__toString` method) throws the exception</p>
<p>`throw new UnexpectedTypeException('An object of class "' . get_class($input) . '" could not be converted to a plain value.', 1274799934);`</p>
<p>Suggestion here, being that the condition also allows a object being a stringable</p>
<p>From: <br />`if (TypeHandlingUtility::isCoreType($input)) {`</p>
<p>To:<br />`if (TypeHandlingUtility::isCoreType($input) || ($input instanceof \Stringable)) {`</p> TYPO3 Core - Feature #87823 (Closed): Introduce "class" to StaticRouteResolver configurationhttp://forge.typo3.org/issues/878232019-03-02T18:26:47ZSoren Mallingsoren@meteko.dk
<p>The StaticRouteResolver can handle "staticText" and "uri".</p>
<p>I suggest a new type being a class->method()</p>
<p>Reason for this:</p>
<p>The PSR middleware returns a Response once it's processed. The Request object is present and the current site including it's configuration.</p>
<p>I see some great use case for static routes like</p>
<p>/blog<br />/news</p>
<p>and similar, that can respond to routes that a editor doesn't need to create. The class can then render a typoscript object, alternative template or similar.</p>
<p>Alternatively, this issue can be closed with the descission of saying "you can implement such PSR yourself and should not be a core thing" - I will completely respect that descission.</p> TYPO3 Core - Bug #87581 (Closed): Reintroduce removed page tree TSconfig settingshttp://forge.typo3.org/issues/875812019-01-30T09:52:25ZSoren Mallingsoren@meteko.dk
<p>In issue <a class="external" href="https://forge.typo3.org/issues/82919">https://forge.typo3.org/issues/82919</a> a number of page tree settings was removed with the background of they werent used.</p>
<p>Feedback from users and clients have made us aware that at least of them was very actively used (excludeDoktypes) to hide specific doktypes in a pagetree. The client had 40.000 pages of a "Article" doktype that wasn't meant to be displayed in the tree.</p>
<p>This issue and following patch is solely to bring back the excludeDoktypes setting. None of the other settings are touched in this patch</p> TYPO3 Core - Bug #87068 (Closed): Use BackendUtility::getPagesTSconfig in TSFE when getting tsconfighttp://forge.typo3.org/issues/870682018-12-04T09:03:38ZSoren Mallingsoren@meteko.dk
<p>Inside the TypoScriptFrontendController the method getPagesTSconfig is used to get the tsconfig from page records. Both via the TSconfig fields but also "included" tsconfig.</p>
<p>The method consist of the same code as BackendUtility::getRawPagesTSconfig (which is called by getPagesTSconfig) - the main difference is, that the frontend method doesn't call emit the signal GetPagesTSconfigPreIncludeSignal to have extensions auto include. So, this gives a different functionality from backend to frontend.</p>
<p>A usecase is inclusion of gridelements layouts. This is used in the frontend for rendering. But when TSFE gets the tsconfig, the signal is not emitted and the tsconfig is not being filled with the layout configuration like it does in the backend</p> TYPO3 Core - Feature #86962 (Closed): Asset pipeline: Only include assets for rendered content el...http://forge.typo3.org/issues/869622018-11-21T09:48:08ZSoren Mallingsoren@meteko.dk
<p>Inspired by my teachings after working a bit with Ruby on Rails and the keynote as T3CON18 about speed I would like to present a feature on Asset pipeline for rendered content element.</p>
<p>The idea/concept is as so:</p>
<p>Given the tt_content elements that are being rendered, the TYPO3 rendering engine can include only assets (css/js) that are related to the content element or plugin.</p>
<p>For example. Here is a number of content element in colPos = 0. The idea is not limited to a single colPos, but let's keep it simple :)</p>
<pre>
[CType: text]
[CType: image]
[CType: Plugin -> Extbase plugin]
[CType: menu_sitemap]
</pre>
<p>Giving a path configuration similar to how content elements are given a path to it's HTML files</p>
<pre>
lib.assetPipeline {
css.10 = EXT:awesomesite/Resources/Public/Assets/Css/Component/
}
</pre>
<p>The rendering will look at the rendered CType and look for EXT:awesomesite/Resources/Public/Assets/Css/Component/[CType].css to include into the pageGenerators includeCSS part. If you enable concate and compress css you will have a CSS file build for the content of that site and no bloated CSS/JS stuff.</p>
<p>I created a POC for extbase related rendering. Add this code block to the ActionController -> renderAssetsForRequest() method</p>
<pre><code class="php syntaxhl" data-language="php"> <span class="nv">$assetFile</span> <span class="o">=</span> <span class="nc">GeneralUtility</span><span class="o">::</span><span class="nf">getFileAbsFileName</span><span class="p">(</span><span class="s1">'EXT:'</span> <span class="mf">.</span> <span class="nv">$this</span><span class="o">-></span><span class="nf">getControllerContext</span><span class="p">()</span><span class="o">-></span><span class="nf">getRequest</span><span class="p">()</span><span class="o">-></span><span class="nf">getControllerExtensionKey</span><span class="p">()</span> <span class="mf">.</span> <span class="s1">'/Resources/Public/Assets/Css/'</span> <span class="mf">.</span> <span class="nv">$this</span><span class="o">-></span><span class="nf">getControllerContext</span><span class="p">()</span><span class="o">-></span><span class="nf">getRequest</span><span class="p">()</span><span class="o">-></span><span class="nf">getControllerName</span><span class="p">()</span> <span class="mf">.</span> <span class="s1">'.css'</span><span class="p">);</span>
<span class="k">if</span> <span class="p">(</span><span class="nv">$assetFile</span> <span class="o">!==</span> <span class="s1">''</span><span class="p">)</span> <span class="p">{</span>
<span class="nv">$file</span> <span class="o">=</span> <span class="nc">PathUtility</span><span class="o">::</span><span class="nf">stripPathSitePrefix</span><span class="p">(</span><span class="nv">$assetFile</span><span class="p">);</span>
<span class="nv">$pageRenderer</span><span class="o">-></span><span class="nf">addCssFile</span><span class="p">(</span>
<span class="nv">$file</span>
<span class="p">);</span>
<span class="p">}</span>
</code></pre>
<p>The goal of this feature is to bring down the actual bytes being sent and served on each page load.</p>
<a name="Cons"></a>
<h2 >Cons<a href="#Cons" class="wiki-anchor">¶</a></h2>
<p>Given the dynamic combinations of content this will create a larger number of files than usual</p> TYPO3 Core - Bug #86909 (Closed): tt_content examples in "Page" module does not respect CTypes ad...http://forge.typo3.org/issues/869092018-11-11T18:24:11ZSoren Mallingsoren@meteko.dk
<a name="Case"></a>
<h2 >Case<a href="#Case" class="wiki-anchor">¶</a></h2>
<p>I've added a number of items to the tt_content field CType directly via Page TSconfig.</p>
<p>When I add a content element which is added via TSconfig, the backend print "INVALID VALUE (webability_[contentname])". This is due to the $CType_labels property being used for rendering is not taking what is added via TSconfig in to concern.</p>
<a name="Proposed-solution"></a>
<h2 >Proposed solution<a href="#Proposed-solution" class="wiki-anchor">¶</a></h2>
<p>I suggest that we streamline this access of content types, so changes made via tsconfig or any other condition is taken into account and returns a single point of getting these values.</p>
<p>Perhaps a more API-wise solution. A "Content Element Registry" of a kind.</p>
<p>Comments are welcome, I will love to put time into it.</p>
<p>This is finding and suggestion based on the work of EXT:autosite where TSconfig is playing a big part in keeping each pagetree/site clean.</p> TYPO3 Core - Bug #83468 (Closed): Custom icon for "Folder" is not shownhttp://forge.typo3.org/issues/834682018-01-04T14:01:34ZSoren Mallingsoren@meteko.dk
<p>I've registered a custom icon for the "Contains" selector in "Page Properties". the code is here</p>
<pre><code class="php syntaxhl" data-language="php"><span class="k">if</span> <span class="p">(</span><span class="no">TYPO3_MODE</span> <span class="o">===</span> <span class="s1">'BE'</span><span class="p">)</span> <span class="p">{</span>
<span class="cd">/** @var \TYPO3\CMS\Core\Imaging\IconRegistry $iconRegistry */</span>
<span class="nv">$iconRegistry</span> <span class="o">=</span> <span class="nc">\TYPO3\CMS\Core\Utility\GeneralUtility</span><span class="o">::</span><span class="nf">makeInstance</span><span class="p">(</span><span class="nc">\TYPO3\CMS\Core\Imaging\IconRegistry</span><span class="o">::</span><span class="n">class</span><span class="p">);</span>
<span class="nv">$iconRegistry</span><span class="o">-></span><span class="nf">registerIcon</span><span class="p">(</span>
<span class="s1">'apps-pagetree-folder-contains-partnerads'</span><span class="p">,</span>
<span class="nc">\TYPO3\CMS\Core\Imaging\IconProvider\FontawesomeIconProvider</span><span class="o">::</span><span class="n">class</span><span class="p">,</span>
<span class="p">[</span>
<span class="s1">'name'</span> <span class="o">=></span> <span class="s1">'rss'</span>
<span class="p">]</span>
<span class="p">);</span>
<span class="p">}</span>
</code></pre>
<p><b>Notice</b> it's a FontAwesome provided icon - dunno if that could cause the missing rendering of the icon</p>
<p>The custom icon is not being displayed in the page tree (see screenshot) but is working as identifier for ex. TCA tables.</p>
<p>!Screen Shot 2018-01-04 at 13.51.18.png!</p>
<p>Choosing the "frontend user" as "Module" gives the expected rendering of the icon, so the support for SVGIcons is working</p>
<p>The icons doesn't seem to be registered in the <defs> part of the pagetree, could that be a reason?</p>
<p>!Screen Shot 2018-01-04 at 14.00.07.png!</p> TYPO3 Core - Bug #79128 (Closed): "Record history" is shown, even if hidden with TSConfighttp://forge.typo3.org/issues/791282017-01-01T22:50:26ZSoren Mallingsoren@meteko.dk
<p>The tsconfig</p>
<pre>options.showHistory = 0</pre>
<p>is not respected in TYPO3\CMS\Backend\Controller\EditDocumentController in the getButtons() method in the making of the buttonbar.</p>
<p>Actually, a "Record History" buttons is being rendered twice but the TSconfig condition is only checked once.</p>
<p>In the first case, a condition only checks if there is any history</p>
<p><a class="external" href="https://git.typo3.org/Packages/TYPO3.CMS.git/blob/HEAD:/typo3/sysext/backend/Classes/Controller/EditDocumentController.php#l1369">https://git.typo3.org/Packages/TYPO3.CMS.git/blob/HEAD:/typo3/sysext/backend/Classes/Controller/EditDocumentController.php#l1369</a></p>
<p>and then renders the button.</p>
<p>On line 1400</p>
<p><a class="external" href="https://git.typo3.org/Packages/TYPO3.CMS.git/blob/HEAD:/typo3/sysext/backend/Classes/Controller/EditDocumentController.php#l1369">https://git.typo3.org/Packages/TYPO3.CMS.git/blob/HEAD:/typo3/sysext/backend/Classes/Controller/EditDocumentController.php#l1369</a></p>
<p>the condition is checked with the "getNewIconMode" method and respect if it's hidden</p> TYPO3 Core - Bug #79127 (Needs Feedback): Responsive LiveSearch toolbar item is rendered no matte...http://forge.typo3.org/issues/791272017-01-01T20:11:56ZSoren Mallingsoren@meteko.dk
<p><em>This is a result of a rather large work on trying to make the TYPO3 backend custom for a project.</em></p>
<p>The backend layout file Main.html (EXT:backend/Resources/Private/Templates/Backend/Main.html) contains a rendering of a LiveSearchToolbarItem even though a person might not have access</p>
<pre>
<button class="topbar-button topbar-button-search t3js-topbar-button-search">
<core:icon identifier="actions-search" alternativeMarkupIdentifier="inline" />
</button>
</pre>
<p>This causes the search to be printed in responsive view. Since you don't have access to the toolbar item (checkAccess() method from ToolbarItemInterface) you don't get a printed LiveSearch to use.</p>
<p><strong>Solution suggestion</strong></p>
<p>This part of ToolbarItem rendering (including the User Settings wrench icon) could be grouped into a viewhelper to render avaialble toolbar items. Perhaps introduce a rendering API for such things (a section in Fluid, or whatever ways the rendering of the backend is going)</p> TYPO3 Core - Bug #45699 (Closed): Implement pre- and post-hook around SELECT querieshttp://forge.typo3.org/issues/456992013-02-21T11:22:22ZSoren Mallingsoren@meteko.dk
<p>To use in example content/record security, a hook is implemented before and after the SELECT call.</p>
<p>The SELECT call is the only database call without such hook</p> TYPO3 Core - Bug #37906 (Closed): sys_action toolbar items doesn't go to right submodulehttp://forge.typo3.org/issues/379062012-06-11T16:22:47ZSoren Mallingsoren@meteko.dk
<p>The toolbar items in the sys_actions toolbar doesn't go to the right submodule in the "Task center" module - unless the last chosen submodule was "Tasks".</p>
<p>This patch add the "mode" setting, so the right submodule is chosen</p>
<p>How to test:</p>
<p>1. Open "Task Center" <br />2. Choose "Overview" as submodule<br />3. Click a created sys_action from the toolbar<br />4. You are still seeing the overview page</p>
<p>Apply patch and do the same again, you are now redirected to the actual task</p> TYPO3 Core - Task #30296 (Closed): Linkvalidator should have a hook for report markershttp://forge.typo3.org/issues/302962011-09-26T16:36:03ZSoren Mallingsoren@meteko.dk
<p>The Linkvalidator scheduler task should provide hooks within the markers, in order for administrators to create more detailed reports.</p>
<p>This hook gives the possibility to get the information about a page, and use it for any data purpose (user in charge, last update etc.)</p> TYPO3 Core - Bug #25276 (Closed): Backend toolbar (additionalBackendItems) doesn't use a common C...http://forge.typo3.org/issues/252762011-03-07T19:21:48ZSoren Mallingsoren@meteko.dk
<p>The backend toolbar with clear cache, bookmarks etc. doesn't use a common css class for styling the drop down. This makes it harder than necessary to create your own additionalBackendItems, as you will have to introduce new css markers yourself</p>
<p>(issue imported from #M17888)</p> TYPO3 Core - Feature #23589 (Rejected): Popup wizard doesn't close when clicking "save & close"http://forge.typo3.org/issues/235892010-09-24T09:13:24ZSoren Mallingsoren@meteko.dk
<p>Using below configuration in TCA.</p>
<p>The popup window doesn't close, but shows the "parent element" that "popped up" the window, since it's set in the returnUrl and you can't overwrite it.</p>
<p>A solution might be to overwrite the returnUrl, would this be accepted as a solution? </p>
<pre><code>'categories' => array(<br /> 'exclude' => 0,<br /> 'label' => 'LLL:EXT:mediadatabase/Resources/Private/Language/locallang_db.xml:tx_mediadatabase_domain_model_media.categories',<br /> 'config' => array(<br /> 'type' => 'select',<br /> 'foreign_table' => 'tx_mediadatabase_domain_model_category',<br /> 'size' => 10,<br /> 'maxitems' => 20,<br /> 'wizards' => array(<br /> '_PADDING' => 2,<br /> '_VERTICAL' => 1,<br /> 'add' => Array(<br /> 'type' => 'popup',<br /> 'title' => 'LLL:EXT:tt_news/locallang_tca.xml:tt_news_cat.createNewParentCategory',<br /> 'icon' => 'add.gif',<br /> 'params' => Array(<br /> 'table'=>'tx_mediadatabase_domain_model_category',<br /> 'pid' => '###CURRENT_PID###',<br /> 'setValue' => 'append',<br /> ),<br /> 'script' => 'wizard_add.php',<br /> 'JSopenParams' => 'height=280,width=465,status=0,menubar=0,scrollbars=1',<br /> ),<br /> ),<br /> ),<br /> ),</code></pre>
<p>(issue imported from #M15782)</p> TYPO3 Core - Bug #23582 (Closed): Docheader (save, save+view, save+close etc) missinghttp://forge.typo3.org/issues/235822010-09-23T09:43:08ZSoren Mallingsoren@meteko.dk
<p>Editing/creating new elements in any tables, no buttons are shown in the top.</p>
<p>Check out screenshot</p>
<p>(issue imported from #M15771)</p>