Re: Global parser not initialized on special pages?
Sebastian Trueg <[email protected]>
| Newsgroups | gmane.org.wikimedia.mediawiki |
|---|---|
| Organization | TrueGeeX UG |
| Message-ID | <[email protected]> |
Brilliant. Works perfectly now! On 14.06.21 19:44, Brian Wolff wrote: > You can wrap it in Parser::stripOuterParagraph() > > On Monday, June 14, 2021, Sebastian Trueg <[email protected] > <mailto:[email protected]>> wrote: > > thank you Brian. > > With a fresh parser (I am not rendering messages but a template) it > works. However, the parser always wraps my result in a <p> tag (I > already removed the <div> via "nowrap" in ParserOutput::getText). > > Can I tell the parser to not do that or do I need to manually unwrap > the text? > > Cheers, > Sebastian > > On 11.06.21 21:33, Brian Wolff wrote: > > This is expected. You should not make assumptions about the > state of the global Parser instance in a special page. In some > circumstances (especially transclusions) it might be in a parse, > other times it won't be. > > If you're rendering an i18n message, its better to use ->parse() > of the Message class then to pass it through the parser directly. > > Alternatively use > \MediaWiki\MediaWikiServices::getInstance()->getParser()->getFreshParser() > and then initialize it yourself by calling ->parse() on the > Parser, so you always know what the state is for sure. > > -- > Brian > > On Fri, Jun 11, 2021 at 9:27 AM Sebastian Trueg > <[email protected] <mailto:[email protected]> > <mailto:[email protected] <mailto:[email protected]>>> wrote: > > Hi everyone, > > my skin uses the global parser in order to render some > parts of the > navigation bar via templates (Parser::recursivePreprocess). > This works > fine on all normal pages (and even some special ones like > Special:Version), but not on special pages like > Special:AllPages. > > Some debugging revealed that on Special:AllPages the global > parser > object > (\MediaWiki\MediaWikiServices::getInstance()->getParser()) is > not > properly initialized. Member variables like mOptions and > mTitle are > null > which results in tons of NPEs. > > Any idea why that is? Is that a bug or am I mis-using the > parser? > > Regards, > Sebastian > _______________________________________________ > MediaWiki-l mailing list -- [email protected] > <mailto:[email protected]> > <mailto:[email protected] > <mailto:[email protected]>> > List information: > https://lists.wikimedia.org/postorius/lists/mediawiki-l.lists.wikimedia.org/ > <https://lists.wikimedia.org/postorius/lists/mediawiki-l.lists.wikimedia.org/> > > <https://lists.wikimedia.org/postorius/lists/mediawiki-l.lists.wikimedia.org/ > <https://lists.wikimedia.org/postorius/lists/mediawiki-l.lists.wikimedia.org/>> > > > _______________________________________________ > MediaWiki-l mailing list -- [email protected] > <mailto:[email protected]> > List information: > https://lists.wikimedia.org/postorius/lists/mediawiki-l.lists.wikimedia.org/ > <https://lists.wikimedia.org/postorius/lists/mediawiki-l.lists.wikimedia.org/> > > > -- > Sebastian Trueg > Managing Director > TrueGeeX UG (haftungsbeschränkt) > [email protected] <mailto:[email protected]> > http://www.linkedin.com/in/trueg <http://www.linkedin.com/in/trueg> > Mobile: 0049 1762 3244 664 > _______________________________________________ > MediaWiki-l mailing list -- [email protected] > <mailto:[email protected]> > List information: > https://lists.wikimedia.org/postorius/lists/mediawiki-l.lists.wikimedia.org/ > <https://lists.wikimedia.org/postorius/lists/mediawiki-l.lists.wikimedia.org/> > > > _______________________________________________ > MediaWiki-l mailing list -- [email protected] > List information: https://lists.wikimedia.org/postorius/lists/mediawiki-l.lists.wikimedia.org/ > -- Sebastian Trueg Managing Director TrueGeeX UG (haftungsbeschränkt) [email protected] http://www.linkedin.com/in/trueg Mobile: 0049 1762 3244 664 _______________________________________________ MediaWiki-l mailing list -- [email protected] List information: https://lists.wikimedia.org/postorius/lists/mediawiki-l.lists.wikimedia.org/