Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kokspflanze/zfcsitemap
Sitemap for Laminas
https://github.com/kokspflanze/zfcsitemap
navigation php php7 sitemap zend-framework zf3
Last synced: about 2 months ago
JSON representation
Sitemap for Laminas
- Host: GitHub
- URL: https://github.com/kokspflanze/zfcsitemap
- Owner: kokspflanze
- License: mit
- Created: 2018-10-21T20:57:54.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2023-06-26T12:26:42.000Z (over 1 year ago)
- Last Synced: 2024-11-14T18:06:20.623Z (about 2 months ago)
- Topics: navigation, php, php7, sitemap, zend-framework, zf3
- Language: PHP
- Homepage:
- Size: 25.4 KB
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ZfcSitemap Module for Laminas
## SYSTEM REQUIREMENTS
- requires PHP 7.1 or later; we recommend using the latest PHP version whenever possible.
- you have to use `laminas-navigation`## INSTALLATION
### Composer
Installation of this module uses composer. For composer documentation, please refer to
[getcomposer.org](http://getcomposer.org/).```sh
php composer.phar require kokspflanze/zfc-sitemap
# (When asked for a version, type `dev-master`)
```Go to `config/application.config.php` and add `ZfcSitemap` in the modules section.
## How to use
### Get the sitemap
you can see your current sitemap with `/sitemap.xml`
### Create a sitemap as cache (optional)
This create a sitemap in `data/zfc-sitemap` as cache, this means, if you call `/sitemap.xml` it will not longer create a new sitemap, it will use the cached sitemap.
For this you need to install `laminas/laminas-mvc-console` and this directory `data/zfc-sitemap` with write rights.
Than you can execute `php public/index.php generate-sitemap http://example.com` to create your sitemap.
PS: You have to rerun it to create a new sitemap.### Change your sitemap
If you have dynamic pages on your page and you want to add them in the sitemap. You can add them with the EventManager.
#### Create a listener
create a new class
````php
listeners[] = $events->attach(Sitemap::EVENT_SITEMAP, [$this, 'onSiteMap'], $priority);
}/**
* @param EventManager\EventInterface $event
*/
public function onSiteMap(EventManager\EventInterface $event)
{
/** @var AbstractContainer $container */
$container = $event->getParam('container');$container->addPage([
'label' => 'Example',
'uri' => '/example',
]);
/**
* your custom stuff, add or remove pages
*/$event->setParam('container', $container);
}}
````Than you have to add your listener in the `service_manager` config and in the following configuration.
````php
'zfc-sitemap' => [
'strategies' => [
Listener\SitemapCustom::class,
],
],
````