Recently Browsing 0 members
No registered users viewing this page.
By Mike Rockett
Docs & Download: rockettpw/markup-sitemap
Modules Directory: MarkupSitemap
MarkupSitemap is essentially an upgrade to MarkupSitemapXML by Pete. It adds multi-language support using the built-in LanguageSupportPageNames. Where multi-language pages are available, they are added to the sitemap by means of an alternate link in that page's <url>. Support for listing images in the sitemap on a page-by-page basis and using a sitemap stylesheet are also added.
Example when using the built-in multi-language profile:
<url> <loc>http://domain.local/about/</loc> <lastmod>2017-08-27T16:16:32+02:00</lastmod> <xhtml:link rel="alternate" hreflang="en" href="http://domain.local/en/about/"/> <xhtml:link rel="alternate" hreflang="de" href="http://domain.local/de/uber/"/> <xhtml:link rel="alternate" hreflang="fi" href="http://domain.local/fi/tietoja/"/> </url> It also uses a locally maintained fork of a sitemap package by Matthew Davies that assists in automating the process.
The doesn't use the same sitemap_ignore field available in MarkupSitemapXML. Rather, it renders sitemap options fields in a Page's Settings tab. One of the fields is for excluding a Page from the sitemap, and another is for excluding its children. You can assign which templates get these config fields in the module's configuration (much like you would with MarkupSEO).
Note that the two exclusion options are mutually exclusive at this point as there may be cases where you don't want to show a parent page, but only its children. Whilst unorthodox, I'm leaving the flexibility there. (The home page cannot be excluded from the sitemap, so the applicable exclusion fields won't be available there.)
As of December 2017, you can also exclude templates from sitemap access altogether, whilst retaining their settings if previously configured.
Sitemap also allows you to include images for each page at the template level, and you can disable image output at the page level.
The module allows you to set the priority on a per-page basis (it's optional and will not be included if not set).
Lastly, a stylesheet option has also been added. You can use the default one (enabled by default), or set your own.
Note that if the module is uninstalled, any saved data on a per-page basis is removed. The same thing happens for a specific page when it is deleted after having been trashed.
My aim is to output a very basic xml document which should be styled with a few css-styles.
<?xml version = "1.0"?> <contact-info> <name>Donal Duck</name> <company>Superducks</company> <phone>(011) 123-4567</phone> </contact-info> How do I implement it with processwire?
I had upgraded my Apache configuration to include PHP7.2 and PHP7.3 for a Laravel-based script on the same server. Somehow it/I messed up a previously fine Processwire site, in a very confusing way.
The site still looks fine, but editing template files has no effect whatsoever. It is stuck on some kind of cached version. I have already disabled PHP7's OPcache, cleared browser caches, etc, with no effect.
The pages now apparently come from PW's assets/cache/FileCompiler folder, even though I never enabled template caching for this site.
I have tried adding "namespace ProcessWire;" to the top of the homepage template file, but then I get this fatal error:
My functions.php file pulls data in from another Processwire installation on the same VPS with the following line:
$othersitedata = new ProcessWire('/home/myaccount/public_html/myothersite/site/', 'https://myothersite.com/'); That apparently still works fine; the site still displays data from the other installation, but via the "cached" template that I am now unable to change.
I don't know where to start with this mess. Does any of this sound familiar to anyone? Any pointers in the right direction would be much appreciated.
Adding "$config->templateCompile = false;" to config.php results in the same fatal error as above.
just wanted to share something I came across while working on an import module for XML data from a web service. The XML I got was not huge, but still, loading around 3.5 MB of XML with 250+ large child nodes into memory at once with simplexml_load_file() and then looping over it had significant impact on performance.
I searched for a solution and found this great article about how to parse large XML files.
It basically explains how to utilize the native XMLReader class together with SimpleXMLElement to handle such situations in a memory efficient way.
After implementing it I got a significant improval on perceived performance. No comparison in numbers to share here as I'm a bit short on time.