doublesecretagency / craft-spoon Goto Github PK
View Code? Open in Web Editor NEWSpoon plugin for Craft CMS - Enhance your Matrix fields with groups, tabs and more!
License: Other
Spoon plugin for Craft CMS - Enhance your Matrix fields with groups, tabs and more!
License: Other
The method returnJson()
does not exist on angellco\spoon\controllers\BlockTypesController
.
VariantMatrix.js
with eventsSpoon.FieldManipulator
react to those new eventsReally weird issue of Safari using a ton of resources, becoming unresponsive, and basically crashing when organizing the spoon layouts. Used Chrome and everything was okay. Let me know if I can help diagnose this a little better.
Hey - so not everyone going to 3.1 is going to be on 3 first.
In particular, Commerce users are forced to go to Craft 3.1 if they want Commerce 2 - but of course they will be coming, by definition, from Craft 2 / Commerce V1.
Thus, can I ask that you do a migration that can cope with this please?
Because stopping on 3 along the way is simply not possible in my case :(
When you have a normal Craft CMS URL Field and you type in a not valid url and save the entry the following error will be shown in the console and the UI is broken.
FieldManipulator.min.js?v=1550150921:1 Uncaught TypeError: Cannot read property 'addClass' of undefined
at s.constructor.<anonymous> (FieldManipulator.min.js?v=1550150921:1)
at i (jquery.js:496)
It's on different installations the same problem.
If there's any tabs that contain required fields, and those fields are preventing save, there's no indicator on which tab, in which field, is preventing the save without going through every tab on Spoon field.
Would be great if Spoon could figure out which tabs need attention and highlight that tab text red, just as regular entry tabs do.
Great work on this plugin!
I'd love if there was some way to customize a module group per sites if multisite is enabled.
For instance, if I have two sites:
My "Featured Products" module isn't applicable to the "Corporate" site, but is for the "Products" one.
Possible enhancement. I have a matrix field that is rather small (3 blocks) and would like to use Spoon to organize the fields on each block.
I can't organize the fields unless the blocks are grouped together, which seems a little odd with 1 block in each group.
It would be nice to allow field organization for non-grouped blocks.
We're seeing an issue where our Spoon configuration works properly on new entries, but isn't being applied when viewing existing entries.
While trying to debug the issue I noticed something unexpected happen that might provide a clue about what's going on.
As a test, I uninstalled and reinstalled Spoon and tried rebuilding the configuration from scratch (to see if that might resolve the issue). First, I did a quick check by adding a few blocks into a few groups to see if things were working as expecting.
In my initial test all seemed well. That configuration was working on new and existing entries.
Then I went back and updated the configuration (to more closely match the setup we have in our production environment). When I did this I immediately bumped into the same bug. Although I noticed that new entries were using the updated configuration, but existing entries were somehow referencing the original configuration (from the first test, where I added a few blocks to a few groups) [screen shots of both configurations are pasted below].
So from what I can gather, it looks like Spoon is somehow not referencing the updated field configuration consistently.
Below is a bit more detail. Please let me know if I can pass along any additional information that might be helpful.
Some background details on the site + configuration
Manage blocks on a per-site basis
.Double-instantiating a menu button on an element (garnish.js:220)
message 4 times when viewing an existing entry. I see the same message, but only twice when creating a new entry.Screen shot of the updated configuration (taken when first creating the test entry)
Screen shot of test configuration (taken after saving the test entry)
I have a 'Content Builder' Matrix field in which I'm using Spoon to build all content around my site.
My events are using Solspace Calendar, within the calendar you can design your field layout the same as in crafts sections.
There is no option to 'Group block types' when I click the cog on the Matrix field. Is there something I am missing to get Spoon to work within the calendar or do you not support it?
Cheers
Steps to reproduce:
Create a long list of fields and create a Spoon field group.
Scroll down in modal until group is out of view.
Drag field up to put into group.
Content doesn't scroll up so you never see group.
Tested in Version 3.2.0 of Spoon.
I expect you considered this and there may be challenges to doing so, but if it becomes possible at some point, it'd be nice to see single items in groups be active buttons without the additional step of a dropdown with one item in it.
A rough mockup just for conversation:
http://share.barrelstrength.co/1n0m320u1D3V
Perhaps this update relates to this issue:
#12
Spoon will install, but won't activate in Beta 5 of 3.1.
I have a single "content" Matrix field with a bunch of different block types that I use for many of the entry types throughout my site. I set up a global layout that most of the types use, but also customized it for several entry types (to limit the blocks that are available). The issue comes for entry types that have no explicit layout. Instead of falling back to the global layout, they appear to be using the layout of the entry type with the lowest ID. So all of my entry types with no specific layout are using the layout from the homepage (Entry Type #1). If I delete the configuration for the homepage, it – and the rest – start using the layout from Entry Type #2.
I have the most recent version of both Craft & Spoon. Let me know if you need more information to reproduce or want access to my staging site.
Window resize does bring back the blank blocks, and on save does the tabs and groups
I'm using a spooned matrix component a couple of different ways, depending on which fields I include through 'edit field layout'.
I have a field which when included, I want to be required. My issue is that when I do not include the field I cannot save the entry. It looks like Craft is registering the required field, even if it is not included and preventing save.
It seems like $context
can also be of type array
and array
; however, parameter $context
of angellco\spoon\services\BlockTypes::getFieldLayoutIds()
does only seem to accept string
, maybe add an additional type check?
Filename: src/controllers/BlockTypesController.php
LineNumber: 67
Link: https://scrutinizer-ci.com/g/angell-co/Spoon/issues/master/files/src/controllers/BlockTypesController.php?selectedLabels%5B0%5D=9&orderField=path&order=asc&honorSelectedPaths=0&issueId=32170669
I'm not sure at what point this happened, but my Spoon layouts don't seem to be being applied to my Matrix blocks and I'm not sure where to start debugging.
Content Blocks config
https://cl.ly/tJsu
Image and Text block config
https://cl.ly/tIpm
As shown on entry form
https://cl.ly/tJHZ
Any ideas?
I was just cuious if you had any more information about this? I have been egarly waiting a simliar plugin to come to Craft3. I have a site that is waiting to go to production and would love to use your plugin in its place.
From angell-co/Pimp-My-Matrix#25 by @bossanova808
I still think the whitespace is a lot too much though, personally. Or possibly some sort of nested organisation would help too...once you have a bunch of types, the drop down is still very large
Just did a composer update and this resulted in an error related to Spoon when then trying to load the control panel:
PDOException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'fields.searchable' in 'field list' in /var/www/vhosts/c3-dev/vendor/yiisoft/yii2/db/Command.php:1258
Stack trace:
#0 /var/www/vhosts/c3-dev/vendor/yiisoft/yii2/db/Command.php(1258): PDOStatement->execute()
#1 /var/www/vhosts/c3-dev/vendor/yiisoft/yii2/db/Command.php(1148): yii\db\Command->internalExecute('SELECT `fields`...')
#2 /var/www/vhosts/c3-dev/vendor/yiisoft/yii2/db/Command.php(413): yii\db\Command->queryInternal('fetch', NULL)
#3 /var/www/vhosts/c3-dev/vendor/yiisoft/yii2/db/Query.php(274): yii\db\Command->queryOne()
#4 /var/www/vhosts/c3-dev/vendor/craftcms/cms/src/db/Query.php(177): yii\db\Query->one(NULL)
#5 /var/www/vhosts/c3-dev/vendor/craftcms/cms/src/services/Fields.php(690): craft\db\Query->one()
#6 /var/www/vhosts/c3-dev/vendor/angellco/spoon/src/services/BlockTypes.php(402): craft\services\Fields->getFieldById(23)
#7 /var/www/vhosts/c3-dev/vendor/angellco/spoon/src/services/BlockTypes.php(144): angellco\spoon\services\BlockTypes->_populateBlockTypeFromRecord(Object(angellco\spoon\records\BlockType))
#8 /var/www/vhosts/c3-dev/vendor/angellco/spoon/src/services/Loader.php(176): angellco\spoon\services\BlockTypes->getByContext('global', 'context')
#9 /var/www/vhosts/c3-dev/vendor/angellco/spoon/src/services/Loader.php(144): angellco\spoon\services\Loader->fieldManipulator('global')
#10 /var/www/vhosts/c3-dev/vendor/angellco/spoon/src/Spoon.php(92): angellco\spoon\services\Loader->run()
#11 [internal function]: angellco\spoon\Spoon->angellco\spoon\{closure}(Object(yii\base\Event))
#12 /var/www/vhosts/c3-dev/vendor/yiisoft/yii2/base/Event.php(310): call_user_func(Object(Closure), Object(yii\base\Event))
#13 /var/www/vhosts/c3-dev/vendor/yiisoft/yii2/base/Component.php(636): yii\base\Event::trigger('craft\\services\\...', 'afterLoadPlugin...', Object(yii\base\Event))
#14 /var/www/vhosts/c3-dev/vendor/craftcms/cms/src/services/Plugins.php(260): yii\base\Component->trigger('afterLoadPlugin...')
#15 /var/www/vhosts/c3-dev/vendor/craftcms/cms/src/base/ApplicationTrait.php(1186): craft\services\Plugins->loadPlugins()
#16 /var/www/vhosts/c3-dev/vendor/craftcms/cms/src/web/Application.php(109): craft\web\Application->_postInit()
#17 /var/www/vhosts/c3-dev/vendor/yiisoft/yii2/base/BaseObject.php(109): craft\web\Application->init()
#18 /var/www/vhosts/c3-dev/vendor/yiisoft/yii2/base/Application.php(206): yii\base\BaseObject->__construct(Array)
#19 /var/www/vhosts/c3-dev/vendor/craftcms/cms/src/web/Application.php(97): yii\base\Application->__construct(Array)
#20 [internal function]: craft\web\Application->__construct(Array)
#21 /var/www/vhosts/c3-dev/vendor/yiisoft/yii2/di/Container.php(383): ReflectionClass->newInstanceArgs(Array)
#22 /var/www/vhosts/c3-dev/vendor/yiisoft/yii2/di/Container.php(156): yii\di\Container->build('craft\\web\\Appli...', Array, Array)
#23 /var/www/vhosts/c3-dev/vendor/yiisoft/yii2/BaseYii.php(349): yii\di\Container->get('craft\\web\\Appli...', Array, Array)
#24 /var/www/vhosts/c3-dev/vendor/craftcms/cms/bootstrap/bootstrap.php(252): yii\BaseYii::createObject(Array)
#25 /var/www/vhosts/c3-dev/vendor/craftcms/cms/bootstrap/web.php(42): require('/var/www/vhosts...')
#26 /var/www/vhosts/c3-dev/web/index.php(20): require('/var/www/vhosts...')
#27 {main}
Next yii\db\Exception: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'fields.searchable' in 'field list'
The SQL being executed was: SELECT `fields`.`id`, `fields`.`dateCreated`, `fields`.`dateUpdated`, `fields`.`groupId`, `fields`.`name`, `fields`.`handle`, `fields`.`context`, `fields`.`instructions`, `fields`.`searchable`, `fields`.`translationMethod`, `fields`.`translationKeyFormat`, `fields`.`type`, `fields`.`settings`, `fields`.`uid`
FROM `craft_fields` `fields`
WHERE `fields`.`id`=23
ORDER BY `fields`.`name`, `fields`.`handle`
LIMIT 1 in /var/www/vhosts/c3-dev/vendor/yiisoft/yii2/db/Schema.php:664
Stack trace:
#0 /var/www/vhosts/c3-dev/vendor/yiisoft/yii2/db/Command.php(1263): yii\db\Schema->convertException(Object(PDOException), 'SELECT `fields`...')
#1 /var/www/vhosts/c3-dev/vendor/yiisoft/yii2/db/Command.php(1148): yii\db\Command->internalExecute('SELECT `fields`...')
#2 /var/www/vhosts/c3-dev/vendor/yiisoft/yii2/db/Command.php(413): yii\db\Command->queryInternal('fetch', NULL)
#3 /var/www/vhosts/c3-dev/vendor/yiisoft/yii2/db/Query.php(274): yii\db\Command->queryOne()
#4 /var/www/vhosts/c3-dev/vendor/craftcms/cms/src/db/Query.php(177): yii\db\Query->one(NULL)
#5 /var/www/vhosts/c3-dev/vendor/craftcms/cms/src/services/Fields.php(690): craft\db\Query->one()
#6 /var/www/vhosts/c3-dev/vendor/angellco/spoon/src/services/BlockTypes.php(402): craft\services\Fields->getFieldById(23)
#7 /var/www/vhosts/c3-dev/vendor/angellco/spoon/src/services/BlockTypes.php(144): angellco\spoon\services\BlockTypes->_populateBlockTypeFromRecord(Object(angellco\spoon\records\BlockType))
#8 /var/www/vhosts/c3-dev/vendor/angellco/spoon/src/services/Loader.php(176): angellco\spoon\services\BlockTypes->getByContext('global', 'context')
#9 /var/www/vhosts/c3-dev/vendor/angellco/spoon/src/services/Loader.php(144): angellco\spoon\services\Loader->fieldManipulator('global')
#10 /var/www/vhosts/c3-dev/vendor/angellco/spoon/src/Spoon.php(92): angellco\spoon\services\Loader->run()
#11 [internal function]: angellco\spoon\Spoon->angellco\spoon\{closure}(Object(yii\base\Event))
#12 /var/www/vhosts/c3-dev/vendor/yiisoft/yii2/base/Event.php(310): call_user_func(Object(Closure), Object(yii\base\Event))
#13 /var/www/vhosts/c3-dev/vendor/yiisoft/yii2/base/Component.php(636): yii\base\Event::trigger('craft\\services\\...', 'afterLoadPlugin...', Object(yii\base\Event))
#14 /var/www/vhosts/c3-dev/vendor/craftcms/cms/src/services/Plugins.php(260): yii\base\Component->trigger('afterLoadPlugin...')
#15 /var/www/vhosts/c3-dev/vendor/craftcms/cms/src/base/ApplicationTrait.php(1186): craft\services\Plugins->loadPlugins()
#16 /var/www/vhosts/c3-dev/vendor/craftcms/cms/src/web/Application.php(109): craft\web\Application->_postInit()
#17 /var/www/vhosts/c3-dev/vendor/yiisoft/yii2/base/BaseObject.php(109): craft\web\Application->init()
#18 /var/www/vhosts/c3-dev/vendor/yiisoft/yii2/base/Application.php(206): yii\base\BaseObject->__construct(Array)
#19 /var/www/vhosts/c3-dev/vendor/craftcms/cms/src/web/Application.php(97): yii\base\Application->__construct(Array)
#20 [internal function]: craft\web\Application->__construct(Array)
#21 /var/www/vhosts/c3-dev/vendor/yiisoft/yii2/di/Container.php(383): ReflectionClass->newInstanceArgs(Array)
#22 /var/www/vhosts/c3-dev/vendor/yiisoft/yii2/di/Container.php(156): yii\di\Container->build('craft\\web\\Appli...', Array, Array)
#23 /var/www/vhosts/c3-dev/vendor/yiisoft/yii2/BaseYii.php(349): yii\di\Container->get('craft\\web\\Appli...', Array, Array)
#24 /var/www/vhosts/c3-dev/vendor/craftcms/cms/bootstrap/bootstrap.php(252): yii\BaseYii::createObject(Array)
#25 /var/www/vhosts/c3-dev/vendor/craftcms/cms/bootstrap/web.php(42): require('/var/www/vhosts...')
#26 /var/www/vhosts/c3-dev/web/index.php(20): require('/var/www/vhosts...')
#27 {main}
Additional Information:
Array
(
[0] => 42S22
[1] => 1054
[2] => Unknown column 'fields.searchable' in 'field list'
)
Hi Josh!
Just updated to the latest version of Spoon and get
Argument 1 passed to craft\services\Matrix::getBlockTypeById() must be of the type integer, null given, called in /var/www/vendor/angellco/spoon/src/controllers/BlockTypesController.php on line 88
when navigating to the new CP side nav link.
Do I need to trigger a re-save on something? I believe that error is in reference to the new functionality added.
Thanks!
Hi!
From an author experience standpoint, it makes sense for us to have a matrix field within a Neo field.
It doesn't appear Spoon works when nested like that. Is that a possibility? Similar to how Super Table support works?
Thanks!
Requires window resize to fix
Look to create a CP tab which has views of each context-type (global, entry type, category group etc), and allows you to create configurations from there instead.
Once that is done it will be easier to deal with the rest of #19.
Equally this may help with #16 and #12 as it will make more sense creating just a field layout from this sort of screen rather than from the core FLD screens.
This should massively help with performance, and will hopefully remove the need to watch for resize events which I suspect is the issue with Safari (#8)
Screenshot: http://share.barrelstrength.co/10390c1z1N2D
Related issue: nystudio107/craft-imageoptimize#94
The ImageOptimize plugin uses matrix block classes in how it styles its settings pages:
https://github.com/nystudio107/craft-imageoptimize/blob/v1/src/templates/_components/fields/OptimizedImages_settings.twig#L69
It seems the styles Spoon adds to the CP may conflict with these in some way. I haven't dug too deep so not sure if the primary issue is in Spoon or in ImageOptimize. Hopefully you folks can coordinate and find a common ground.
I am having troubles activating Spoon on a Craft CMS installation with verbb/super-table.
Steps to reproduce:
composer require angellco/spoon
yii\base\ErrorException: A non well formed numeric value encountered in /home/vagrant/craftcms/vendor/verbb/super-table/src/services/SuperTableService.php:119
Stack trace:
#0 /home/vagrant/craftcms/vendor/angellco/spoon/src/services/BlockTypes.php(425): verbb\supertable\services\SuperTableService->getBlockTypeById()
#1 /home/vagrant/craftcms/vendor/angellco/spoon/src/services/BlockTypes.php(145): angellco\spoon\services\BlockTypes->_populateBlockTypeFromRecord()
#2 /home/vagrant/craftcms/vendor/angellco/spoon/src/services/Loader.php(176): angellco\spoon\services\BlockTypes->getByContext()
#3 /home/vagrant/craftcms/vendor/angellco/spoon/src/services/Loader.php(144): angellco\spoon\services\Loader->fieldManipulator()
#4 /home/vagrant/craftcms/vendor/angellco/spoon/src/Spoon.php(93): angellco\spoon\services\Loader->run()
#5 /home/vagrant/craftcms/vendor/yiisoft/yii2/base/Event.php(310): angellco\spoon\Spoon->angellco\spoon\{closure}()
#6 /home/vagrant/craftcms/vendor/yiisoft/yii2/base/Event.php(310): ::call_user_func:{/home/vagrant/craftcms/vendor/yiisoft/yii2/base/Event.php:310}()
#7 /home/vagrant/craftcms/vendor/yiisoft/yii2/base/Component.php(636): yii\base\Event::trigger()
#8 /home/vagrant/craftcms/vendor/craftcms/cms/src/services/Plugins.php(268): craft\services\Plugins->trigger()
#9 /home/vagrant/craftcms/vendor/craftcms/cms/src/base/ApplicationTrait.php(1187): craft\services\Plugins->loadPlugins()
#10 /home/vagrant/craftcms/vendor/craftcms/cms/src/web/Application.php(112): craft\web\Application->_postInit()
#11 /home/vagrant/craftcms/vendor/yiisoft/yii2/base/BaseObject.php(109): craft\web\Application->init()
#12 /home/vagrant/craftcms/vendor/yiisoft/yii2/base/Application.php(206): craft\web\Application->__construct()
#13 /home/vagrant/craftcms/vendor/craftcms/cms/src/web/Application.php(100): craft\web\Application->__construct()
#14 /home/vagrant/craftcms/vendor/yiisoft/yii2/di/Container.php(383): craft\web\Application->__construct()
#15 /home/vagrant/craftcms/vendor/yiisoft/yii2/di/Container.php(383): ReflectionClass->newInstanceArgs()
#16 /home/vagrant/craftcms/vendor/yiisoft/yii2/di/Container.php(156): yii\di\Container->build()
#17 /home/vagrant/craftcms/vendor/yiisoft/yii2/BaseYii.php(349): yii\di\Container->get()
#18 /home/vagrant/craftcms/vendor/craftcms/cms/bootstrap/bootstrap.php(255): yii\BaseYii::createObject()
#19 /home/vagrant/craftcms/vendor/craftcms/cms/bootstrap/web.php(42): ::unknown()
#20 /home/vagrant/craftcms/web/index.php(20): ::unknown()
#21 {main}
Craft CMS Version: 3.1.2.2
Super Table Version: 2.1.4.2
PHP Version: 7.2.11
In Loader.php
we create our contexts based on the source ID, this needs to be changed to UID and all existing block types migrated.
Also need to find and refactor all other references to the ID part of our block type contexts.
This is in part prep for Project Config support see #24
Process:
Errors:
Stack trace:
#0 /media/sf_htdocs/back-end/vendor/yiisoft/yii2/di/Container.php(428): ReflectionClass->__construct('array')
#1 /media/sf_htdocs/back-end/vendor/yiisoft/yii2/di/Container.php(364): yii\di\Container->getDependencies('array')
#2 /media/sf_htdocs/back-end/vendor/yiisoft/yii2/di/Container.php(156): yii\di\Container->build('array', Array, Array)
#3 /media/sf_htdocs/back-end/vendor/yiisoft/yii2/BaseYii.php(349): yii\di\Container->get('array', Array, Array)
#4 /media/sf_htdocs/back-end/vendor/yiisoft/yii2/validators/Validator.php(226): yii\BaseYii::createObject(Array)
#5 /media/sf_htdocs/back-end/vendor/yiisoft/yii2/base/Model.php(458): yii\validators\Validator::createValidator('array', Object(angellco\spoon\models\Settings), Array, Array)
#6 /media/sf_htdocs/back-end/vendor/yiisoft/yii2/base/Model.php(420): yii\base\Model->createValidators()
#7 /media/sf_htdocs/back-end/vendor/yiisoft/yii2/base/Model.php(189): yii\base\Model->getValidators()
#8 /media/sf_htdocs/back-end/vendor/yiisoft/yii2/base/Model.php(354): yii\base\Model->scenarios()
#9 /media/sf_htdocs/back-end/vendor/craftcms/cms/src/services/Plugins.php(586): yii\base\Model->validate()
#10 /media/sf_htdocs/back-end/vendor/nerds-and-company/schematic/src/Mappers/PluginMapper.php(114): craft\services\Plugins->savePluginSettings(Object(angellco\spoon\Spoon), Array)
#11 /media/sf_htdocs/back-end/vendor/nerds-and-company/schematic/src/Mappers/PluginMapper.php(74): NerdsAndCompany\Schematic\Mappers\PluginMapper->savePlugin('spoon', Array, Array)
#12 /media/sf_htdocs/back-end/vendor/nerds-and-company/schematic/src/Controllers/ImportController.php(88): NerdsAndCompany\Schematic\Mappers\PluginMapper->import(Array, Array)
#13 /media/sf_htdocs/back-end/vendor/nerds-and-company/schematic/src/Controllers/ImportController.php(49): NerdsAndCompany\Schematic\Controllers\ImportController->importFromYaml(Array)
#14 [internal function]: NerdsAndCompany\Schematic\Controllers\ImportController->actionIndex()
#15 /media/sf_htdocs/back-end/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array(Array, Array)
#16 /media/sf_htdocs/back-end/vendor/yiisoft/yii2/base/Controller.php(157): yii\base\InlineAction->runWithParams(Array)
#17 /media/sf_htdocs/back-end/vendor/yiisoft/yii2/console/Controller.php(148): yii\base\Controller->runAction('', Array)
#18 /media/sf_htdocs/back-end/vendor/yiisoft/yii2/base/Module.php(528): yii\console\Controller->runAction('', Array)
#19 /media/sf_htdocs/back-end/vendor/yiisoft/yii2/console/Application.php(180): yii\base\Module->runAction('schematic/impor...', Array)
#20 /media/sf_htdocs/back-end/vendor/yiisoft/yii2/console/Application.php(147): yii\console\Application->runAction('schematic/impor...', Array)
#21 /media/sf_htdocs/back-end/vendor/yiisoft/yii2/base/Application.php(386): yii\console\Application->handleRequest(Object(craft\console\Request))
#22 /media/sf_htdocs/back-end/craft(22): yii\base\Application->run()
#23 {main}
Not really sure what the cause of this is but when I add multiple blocks things start to get a little wonky.
If I collapse all blocks, the add block bar goes to the correct position again. If I move blocks around, the big space below the first field will fix and appear on a different block. Always appears to be an issue that starts with the third block.
It appears intermittent but in my experience Spoon's tabbed interface repeatedly breaks and reverts to the default view (all fields within a matrix displayed within a single pane). This seems to be happening more often after the initial entry save and then returning to the entry to edit the matrix data.
I am using a CodeMirror, ColorIt and Asset field within my matrix and have a tab for each.
CraftCMS 3.0.35
Plugins: CodeMirror, ColorIt
IssueId: 32170659 Message: 'groupName'
of type string
is incompatible with the type boolean
expected by parameter $groupBy
of angellco\spoon\services\BlockTypes::getByContext()
.
Filename: src/controllers/ConfiguratorController.php
LineNumber: 66
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.