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 - Bug #87884 (Closed): Root page of page tree suddenly gets slug "/1"http://forge.typo3.org/issues/878842019-03-11T15:37:36ZSoren Mallingsoren@meteko.dk
<p>This is a issue created for Benni Mack to follow up on a Slack conversation</p>
<p><a class="external" href="https://typo3.slack.com/archives/C2ZKN8P7G/p1551805852037400">https://typo3.slack.com/archives/C2ZKN8P7G/p1551805852037400</a></p> TYPO3 Core - Bug #87841 (Closed): Sitemap generation doesn't take request language into accounthttp://forge.typo3.org/issues/878412019-03-05T08:52:51ZSoren Mallingsoren@meteko.dk
<p>The sitemap.xml only takes content from the default language upon creation.</p>
<p>Case:</p>
<p>on domain.dk/sitemap.xml the sitemap is created with all content from the default language (in this case "Danish")</p>
<p>on domain.net/sitemap.xml it was expected to contain only content from the langauge of that site. Instead it takes the content of the default language.</p>
<p>Issue has been identified with Richard Haeser</p>
<p>Sitemaps can be found <a class="external" href="http://www.meteko.dk/sitemap.xml">www.meteko.dk/sitemap.xml</a> and <a class="external" href="http://www.meteko.net/sitemap.xml">www.meteko.net/sitemap.xml</a></p>
<p>Site configuration</p>
<pre>
rootPageId: 1
base: 'https://meteko.dk'
baseVariants: { }
languages:
-
title: Danish
enabled: true
languageId: '0'
base: /
typo3Language: da
locale: da_DK.utf-8
iso-639-1: da
navigationTitle: ''
hreflang: da-DK
direction: ltr
flag: dk
-
title: English
enabled: true
languageId: '2'
base: 'https://meteko.net/'
typo3Language: default
locale: en_US.utf-8
iso-639-1: en
navigationTitle: English
hreflang: en-US
direction: ltr
fallbackType: strict
flag: gb
errorHandling:
-
errorCode: '404'
errorHandler: Page
errorContentSource: '15'
routes: { }
routeEnhancers:
NewsPlugin:
type: Extbase
extension: News
plugin: Pi1
routes:
-
routePath: '/{news_title}'
_controller: 'News::detail'
_arguments:
news_title: news
defaultController: 'News::list'
aspects:
news_title:
type: PersistedPatternMapper
tableName: tx_news_domain_model_news
routeFieldPattern: '^(?P<path_segment>.+)$'
routeFieldResult: '{path_segment}'
PageTypeSuffix:
type: PageType
map:
sitemap.xml: 1533906435
</pre> 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 - 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 - Task #63524 (Closed): Use panels for "Template" configurationhttp://forge.typo3.org/issues/635242014-12-02T19:16:05ZSoren Mallingsoren@meteko.dk
<p>Use panel-* classes from Twitter Bootstrap<br />to give a better look and feel when browsing<br />the typoscript tree</p> TYPO3 Core - Bug #52946 (Closed): ExtensionUtility::configurePlugin doesn't set typoscripthttp://forge.typo3.org/issues/529462013-10-18T11:47:06ZSoren Mallingsoren@meteko.dk
<p>Upgrading to 6.2 beta 1 I've experienced that</p>
<p>TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin -> \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript doesn't register/writes the typoscript to the TypoScript Object Browser.</p>
<p>It writes it very well to $GLOBALS['TYPO3_CONF_VARS']['FE']['defaultTypoScript_' . $type . '.']</p>
<p>This seems to be a issue for Extbase only extension as EXT:gridelements got it's typoscript written as it used to</p> TYPO3 Core - Feature #50360 (Accepted): Having only one record type in "New record" should forwar...http://forge.typo3.org/issues/503602013-07-24T10:49:55ZSoren Mallingsoren@meteko.dk
<p>By using mod.web_list.allowedTables you can adjust the allowed tables. This is useful in storage folders, where you might only want one single record type.</p>
<p>The usability issue comes, when the editor has to click on that single record type. Instead we should forward the editor to the form for that specific record type allowed.</p>
<p>I suggest this being a core feature. In case of objection I suggest a hook, giving the possibility to introduce the functionality via a extension.</p> TYPO3 Core - Feature #49922 (Closed): Allow "additionalWhereClause" for selection of items to pag...http://forge.typo3.org/issues/499222013-07-11T18:23:52ZSoren Mallingsoren@meteko.dk
<p>In user/usergroup specific TSconfig you can set a "additionalWhereClause" for selecting items to the pagetree. This is added to the where clause with a "AND"</p> TYPO3 Core - Bug #49279 (Closed): Exclude doktypes from pagetree by user TSconfighttp://forge.typo3.org/issues/492792013-06-20T09:36:14ZSoren Mallingsoren@meteko.dk