PHPackages                             bootiq/cms-api-vendor-nette-2.3 - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. bootiq/cms-api-vendor-nette-2.3

ActiveLibrary[API Development](/categories/api)

bootiq/cms-api-vendor-nette-2.3
===============================

B!Q CMS api vendor - nette implementation

01.00.00(8y ago)010Apache-2.0PHPPHP ^7.0

Since Feb 27Pushed 8y ago1 watchersCompare

[ Source](https://github.com/bootiq/cms-api-vendor-nette-2.3)[ Packagist](https://packagist.org/packages/bootiq/cms-api-vendor-nette-2.3)[ RSS](/packages/bootiq-cms-api-vendor-nette-23/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (14)Versions (2)Used By (0)

BootIq - CMS API vendor for Nette
=================================

[](#bootiq---cms-api-vendor-for-nette)

[![BOOT!Q Logo](https://camo.githubusercontent.com/014542b1571c7a819d4a23d33037004383b0892553f339fd86ac39a31ffc6f93/687474703a2f2f7777772e626f6f7469712e696f2f696d616765732f666f6f7465722d6c6f676f2e706e67 "BOOT!Q")](https://camo.githubusercontent.com/014542b1571c7a819d4a23d33037004383b0892553f339fd86ac39a31ffc6f93/687474703a2f2f7777772e626f6f7469712e696f2f696d616765732f666f6f7465722d6c6f676f2e706e67)

[![pipeline status](https://camo.githubusercontent.com/4b8f8e55150dd868cdd4f5b02214e1870f61a4f2f8fb9574c574b06044572596/68747470733a2f2f6769746c61622e6d622d652e736b2f706c6174666f726d2f76656e646f722d636d732d6170692d6e657474652f6261646765732f6d61737465722f706970656c696e652e737667)](https://gitlab.mb-e.sk/platform/vendor-cms-api-nette/commits/master) [![coverage report](https://camo.githubusercontent.com/8d9c77aace32f242e621333ef8f9768fbf257dd4cf1f73a8e047a707ad9957ce/68747470733a2f2f6769746c61622e6d622d652e736b2f706c6174666f726d2f76656e646f722d636d732d6170692d6e657474652f6261646765732f6d61737465722f636f7665726167652e737667)](https://gitlab.mb-e.sk/platform/vendor-cms-api-nette/commits/master)

Installation
------------

[](#installation)

For installation of Boot!Q CMS API vendor for Nette, use composer

```
composer require bootiq/cms-api-vendor-nette-2.3
```

Configuration
-------------

[](#configuration)

Add Boot!Q CMS API vendor for Nette to your extensions:

```
extensions:
    - BootIq\CmsApiVendor\Nette\DI\CmsApiVendorExtension
```

Register adapter for communication by defining biq\_cms\_adapter to services configuration:

```
services:
    biq_cms_adapter:
        class: BootIq\CmsApiVendor\Adapter\GuzzleSecurityTokenAdapter(GuzzleHttp\Client(), BootIq\CmsApiVendor\Response\ResponseFactory(), %cms_api.urn%, %cms_api.publicId%, %cms_api.secret%)
```

Finally define parameters for configuration (name are used above in adapter definition):

```
parameters:
    cms_api:
        urn: ""
        publicId: ""
        secret: ""
```

Usage
-----

[](#usage)

Inject PageControlFactory into your Presenter and create PageControl component. For example:

```
    /**
     * @var PageControlFactory
     * @inject
     */
    public $pageControlFactory;

    /**
     * @return PageControl
     */
    public function createComponentPageControl(): PageControl
    {
        $control = $this->pageControlFactory->create();
        return $control;
    }
```

Now use PageControl component in your latte template:

```
{block content}

        Congratulations!

        You have successfully using Boot!Q CMS API vendor for Nette.

            {control pageControl "/hello-workld-slug", false}

{/block}
```

Modification
------------

[](#modification)

### Fallbacks

[](#fallbacks)

If nothing is rendered, callback *onNotRendered($mixed)* is triggered. If one of the block is not rendered, callback *onBlockNotRendered(Block $block, \\Exception $exception)* is triggered. Example of usage of our callback.

```
    /**
     * @var PageControlFactory
     * @inject
     */
    public $pageControlFactory;

    /**
     * @return PageControl
     */
    public function createComponentPageControl(): PageControl
    {
        $control = $this->pageControlFactory->create();

        $control->onNotRendered[] = function ($exception) {
            // DO SOMETHING WITH EXCEPTION
        };
        $control->onBlockNotRendered[] = function ($block, $exception) {
            // DO SOMETHING WITH BLOCK OR EXCEPTION
        };

        return $control;
    }
```

### Own BlockControl

[](#own-blockcontrol)

If you want use your own BlockControl, simply create new Control which implements *BootIq\\CmsApiVendor\\Nette\\Control\\Block\\BlockControlInterface*. Then register it to PageControl in createComponent method:

```
    /**
     * @var PageControlFactory
     * @inject
     */
    public $pageControlFactory;

    /**
     * @return PageControl
     */
    public function createComponentPageControl(): PageControl
    {
        $control = $this->pageControlFactory->create();
        $myOwnBlockControl = new MyOwnBlockControl();

        $control->addBlockControlByType($myOwnBlockControl, 'myOwnBlockType');

        return $control;
    }
```

### Logger

[](#logger)

If you want log, what is going on in our PageControl simply set Logger to PageControl in createComponent method. Logger have to implement PSR-3 LoggerInterface. For example:

```
    /**
     * @var PageControlFactory
     * @inject
     */
    public $pageControlFactory;

    /**
     * @var LoggerInterface
     * @inject
     */
    public $monologLogger;

    /**
     * @return PageControl
     */
    public function createComponentPageControl(): PageControl
    {
        $control = $this->pageControlFactory->create();

        $control->setLogger($this->monologLogger);

        return $control;
    }
```

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

2993d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/6c697e9ae946601e389a756dd65c4f7c584b3e6b09bbab20cc4abab00661565e?d=identicon)[bootiq](/maintainers/bootiq)

---

Top Contributors

[![vallbo](https://avatars.githubusercontent.com/u/8950881?v=4)](https://github.com/vallbo "vallbo (2 commits)")

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP\_CodeSniffer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/bootiq-cms-api-vendor-nette-23/health.svg)

```
[![Health](https://phpackages.com/badges/bootiq-cms-api-vendor-nette-23/health.svg)](https://phpackages.com/packages/bootiq-cms-api-vendor-nette-23)
```

###  Alternatives

[apigen/apigen

PHP source code API generator.

2.2k627.9k223](/packages/apigen-apigen)[tomaj/nette-api

Nette api

36261.8k4](/packages/tomaj-nette-api)[worksome/graphlint

A static analysis tool for GraphQL

13189.4k](/packages/worksome-graphlint)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
