This is really odd and I only noticed it when trying to reproduce https://forum.matomo.org/t/matomo-help-buttons/33205
Bonus Bug:
It seems like when there is no data in the report the help icon also doesn't show up
Tried to fix that yesterday and found the reason why it's not working.
The "problem" is here: https://github.com/matomo-org/matomo/blob/3.x-dev/plugins/CoreHome/angularjs/enrichedheadline/enrichedheadline.directive.js#L70-L72
When the report is loaded initially helpNode.text()
contains the actual help text and helpNode.html()
contains something like<p ng-bind-html=""Dies ist eine \u00dcbersicht \u00fcber die Entwicklung der Besuche.<br \/>Die Daten sind in verschiedene Berichte unterteilt, die in Sparklines am Ende der Seite angezeigt werden. Sie k\u00f6nnen die Sparklines vergr\u00f6\u00dfern, indem Sie auf den gew\u00fcnschen Bericht klicken.<br \/><br \/><b>Besuche:<\/b> Wenn ein Besucher zum ersten Mal die Webseite besucht oder seit dem letzten Seitenaufruf mehr als 30 Minuten vergangen sind, wird dies als neuer Besuch gewertet.<br \/><b>Eindeutige Besucher:<\/b> Die Anzahl der eindeutigen Besucher auf der Webseite. Jeder Benutzer wird nur einmal gez\u00e4hlt, auch wenn er die Webseite mehrmals t\u00e4glich besucht hat.<br \/><b>Aktionen:<\/b> Die Anzahl der Aktionen, die ihre Besucher durchgef\u00fchrt hat. Aktionen sind Seitenansichten, Downloads, der Aufruf von ausgehenden Verweisen und interne Suchen.<br \/><b>Benutzer:<\/b> Die Anzahl auf Ihrer Website angemeldeter Nutzer. Die Zahl beinhaltet alle eindeutigen Besucher, welche eine Benutzer ID besitzen (durch die Tracking Code Funktion 'setUserID'). (<a rel=\"noreferrer noopener\" target=\"_blank\" href=\"https:\/\/matomo.org\/docs\/user-id\/\">User ID<\/a>)<br \/><b>Aktionen pro Besuch:<\/b> Die durchschnittliche Anzahl der Aktionen (Seitenaufrufe, Downloads, ausgehende Verweise oder interne Suchen), die w\u00e4hrend der Besuche durchgef\u00fchrt wurden."" class="ng-binding">Dies ist eine Übersicht über die Entwicklung der Besuche.<br>Die Daten sind in verschiedene Berichte unterteilt, die in Sparklines am Ende der Seite angezeigt werden. Sie können die Sparklines vergrößern, indem Sie auf den gewünschen Bericht klicken.<br><br><b>Besuche:</b> Wenn ein Besucher zum ersten Mal die Webseite besucht oder seit dem letzten Seitenaufruf mehr als 30 Minuten vergangen sind, wird dies als neuer Besuch gewertet.<br><b>Eindeutige Besucher:</b> Die Anzahl der eindeutigen Besucher auf der Webseite. Jeder Benutzer wird nur einmal gezählt, auch wenn er die Webseite mehrmals täglich besucht hat.<br><b>Aktionen:</b> Die Anzahl der Aktionen, die ihre Besucher durchgeführt hat. Aktionen sind Seitenansichten, Downloads, der Aufruf von ausgehenden Verweisen und interne Suchen.<br><b>Benutzer:</b> Die Anzahl auf Ihrer Website angemeldeter Nutzer. Die Zahl beinhaltet alle eindeutigen Besucher, welche eine Benutzer ID besitzen (durch die Tracking Code Funktion 'setUserID'). (<a rel="noreferrer noopener" target="_blank" href="https://matomo.org/docs/user-id/">User ID</a>)<br><b>Aktionen pro Besuch:</b> Die durchschnittliche Anzahl der Aktionen (Seitenaufrufe, Downloads, ausgehende Verweise oder interne Suchen), die während der Besuche durchgeführt wurden.</p>
But when the report is reloaded when clicking the menu helpNode.text()
is empty and helpNode.html()
contains<p ng-bind-html=""Dies ist eine \u00dcbersicht \u00fcber die Entwicklung der Besuche.<br \/>Die Daten sind in verschiedene Berichte unterteilt, die in Sparklines am Ende der Seite angezeigt werden. Sie k\u00f6nnen die Sparklines vergr\u00f6\u00dfern, indem Sie auf den gew\u00fcnschen Bericht klicken.<br \/><br \/><b>Besuche:<\/b> Wenn ein Besucher zum ersten Mal die Webseite besucht oder seit dem letzten Seitenaufruf mehr als 30 Minuten vergangen sind, wird dies als neuer Besuch gewertet.<br \/><b>Eindeutige Besucher:<\/b> Die Anzahl der eindeutigen Besucher auf der Webseite. Jeder Benutzer wird nur einmal gez\u00e4hlt, auch wenn er die Webseite mehrmals t\u00e4glich besucht hat.<br \/><b>Aktionen:<\/b> Die Anzahl der Aktionen, die ihre Besucher durchgef\u00fchrt hat. Aktionen sind Seitenansichten, Downloads, der Aufruf von ausgehenden Verweisen und interne Suchen.<br \/><b>Benutzer:<\/b> Die Anzahl auf Ihrer Website angemeldeter Nutzer. Die Zahl beinhaltet alle eindeutigen Besucher, welche eine Benutzer ID besitzen (durch die Tracking Code Funktion 'setUserID'). (<a rel=\"noreferrer noopener\" target=\"_blank\" href=\"https:\/\/matomo.org\/docs\/user-id\/\">User ID<\/a>)<br \/><b>Aktionen pro Besuch:<\/b> Die durchschnittliche Anzahl der Aktionen (Seitenaufrufe, Downloads, ausgehende Verweise oder interne Suchen), die w\u00e4hrend der Besuche durchgef\u00fchrt wurden."" class="ng-binding"></p>
So it seems the ng-bind-html
isn't interpreted before the node is tried to be used and so it actually has no text contents. Tried to use a $compile
before it's used, but that didn't change anything. Inserting the content that way, also doesn't show anything as the ng-bind-html
doesn't seems to be parsed later as well. Maybe @diosmosis or @tsteur have a idea how that can be solved quickly...
Maybe this could be put in the backlog as it's complicated to solve and not too important maybe?
Not sure. Maybe because of this I never really realized that Matomo had help pages inside of Matomo, because nearly every visit to a report is coming from another page.