carbon / link
Link helper for Neos CMS
Fund package maintenance!
jonnitto
www.paypal.me/Jonnitto/20eur
Installs: 75 488
Dependents: 4
Suggesters: 0
Security: 0
Stars: 1
Watchers: 5
Forks: 4
Open Issues: 1
Type:neos-carbon
Requires
- carbon/eel: ^1.2 || ^2.0
- neos/neos: ^9.0
This package is auto-updated.
Last update: 2024-11-13 10:24:20 UTC
README
Carbon.Link Package for Neos CMS
This package provides some fusion helper for link editor.
Installation
Most of the time you have to make small adjustments to a package (e.g. configuration in Settings.yaml
). Because of that, it is important to add the corresponding package to the composer from your theme package. Mostly this is the site packages located under Packages/Sites/
. To install it correctly go to your theme package (e.g.Packages/Sites/Foo.Bar
) and run following command:
composer require carbon/link --no-update
The --no-update
command prevent the automatic update of the dependencies. After the package was added to your theme composer.json
, go back to the root of the Neos installation and run composer update
. Et voilĂ ! Your desired package is now installed correctly.
Questions
What is the node:// URI conversion requires a context node to be passed
error about?
Carbon.Link:Link
and the internal Neos.Neos:NodeUri
make use of the commonly available documentNode
context variable to obtain context information such as language and workspace and to calculate relative links. This variable is provided by default in the \Neos\Neos\View\FusionView, but not, for example, in the \Neos\Fusion\View\FusionView, which is mainly used for Model View Controller applications. Make sure that you manually retrieve the document node and add it to the view, e.g.
<?php class ArticlesController extends ActionController { ... public function listAction(): void { $workspaceName = 'live'; $language = 'en'; $contextProperties = [ 'workspaceName' => $workspaceName, 'invisibleContentShown' => false, 'inaccessibleContentShown' => false, 'dimensions' => [ 'language' => [$language] ], 'targetDimensions' => [ 'language' => $language ] ]; $currentDomain = $this->domainRepository->findOneByActiveRequest(); if ($currentDomain !== null) { $contextProperties['currentSite'] = $currentDomain->getSite(); $contextProperties['currentDomain'] = $currentDomain; } else { $contextProperties['currentSite'] = $this->siteRepository->findFirstOnline(); } $contentContext = $this->contextFactory->create($contextProperties); $site = $contentContext->getCurrentSiteNode(); $this->view->assign('documentNode', $site); } }
License
Licensed under MIT, see LICENSE