Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error Adding a Button Box "Buttons" Field to an Existing Entry #64

Open
richhayler opened this issue May 4, 2024 · 1 comment
Open

Comments

@richhayler
Copy link

richhayler commented May 4, 2024

Describe the bug

An "ArgumentCountError" occurs when adding a Button Box "Buttons" field to an existing entry

"ArgumentCountError: Too few arguments to function craft\fields\BaseOptionsField::normalizeValue(), 1 passed in /craft/vendor/verbb/buttonbox/src/fields/Buttons.php on line 153 and exactly 2 expected in /craft/vendor/craftcms/cms/src/fields/BaseOptionsField.php:273"

Buttons.php
CleanShot 2024-05-04 at 14 14 52@2x

BaseOptionsField.php
CleanShot 2024-05-04 at 14 13 49@2x

I believe the fix is to change this (on line 153 of /craft/vendor/verbb/buttonbox/src/fields/Buttons.php)
$value = $this->normalizeValue($this->defaultValue());

to this
$value = $this->normalizeValue($this->defaultValue(), $element);

Steps to reproduce

  1. Create a new section and configure a new entry type
  2. Add some entries to the new section
  3. Create a new "Button" Button Box field and add a couple of selectable options
  4. Add the new "Button Box" field to the entry type above
  5. Click to open an existing entry for this section
  6. Error message is displayed - and as a result cannot edit / update the entry.

Note: A similar issue occurs when adding or removing "Button Box" values/options from a Button Box field that is part of an existing entry and then returning to the entry to edit it.

Craft CMS version

5.1.1

Plugin version

5.0.0-beta-1

Multi-site?

Yes

Additional context

See Stack Trace below:

ArgumentCountError: Too few arguments to function craft\fields\BaseOptionsField::normalizeValue(), 1 passed in /craft/vendor/verbb/buttonbox/src/fields/Buttons.php on line 153 and exactly 2 expected in /craft/vendor/craftcms/cms/src/fields/BaseOptionsField.php:273
Stack trace:
#0 /craft/vendor/verbb/buttonbox/src/fields/Buttons.php(153): craft\fields\BaseOptionsField->normalizeValue()
#1 /craft/vendor/craftcms/cms/src/base/Field.php(592): verbb\buttonbox\fields\Buttons->inputHtml()
#2 /craft/vendor/craftcms/cms/src/fieldlayoutelements/CustomField.php(372): craft\base\Field->getInputHtml()
#3 /craft/vendor/craftcms/cms/src/fieldlayoutelements/BaseField.php(349): craft\fieldlayoutelements\CustomField->inputHtml()
#4 /craft/vendor/craftcms/cms/src/fieldlayoutelements/CustomField.php(324): craft\fieldlayoutelements\BaseField->formHtml()
#5 /craft/vendor/craftcms/cms/src/web/View.php(1669): craft\fieldlayoutelements\CustomField->craft\fieldlayoutelements{closure}()
#6 /craft/vendor/craftcms/cms/src/fieldlayoutelements/CustomField.php(323): craft\web\View->namespaceInputs()
#7 /craft/vendor/craftcms/cms/src/models/FieldLayout.php(832): craft\fieldlayoutelements\CustomField->formHtml()
#8 /craft/vendor/craftcms/cms/src/web/View.php(1663): craft\models\FieldLayout->craft\models{closure}()
#9 /craft/vendor/craftcms/cms/src/models/FieldLayout.php(831): craft\web\View->namespaceInputs()
#10 /craft/vendor/craftcms/cms/src/controllers/ElementsController.php(925): craft\models\FieldLayout->createForm()
#11 /craft/vendor/craftcms/cms/src/controllers/ElementsController.php(398): craft\controllers\ElementsController->_prepareEditor()
#12 [internal function]: craft\controllers\ElementsController->craft\controllers{closure}()
#13 /craft/vendor/craftcms/cms/src/web/CpScreenResponseFormatter.php(125): call_user_func()
#14 /craft/vendor/craftcms/cms/src/web/CpScreenResponseFormatter.php(50): craft\web\CpScreenResponseFormatter->_formatTemplate()
#15 /craft/vendor/yiisoft/yii2/web/Response.php(1100): craft\web\CpScreenResponseFormatter->format()
#16 /craft/vendor/craftcms/cms/src/web/Response.php(337): yii\web\Response->prepare()
#17 /craft/vendor/yiisoft/yii2/web/Response.php(340): craft\web\Response->prepare()
#18 /craft/vendor/yiisoft/yii2/base/Application.php(390): yii\web\Response->send()
#19 /web/index.php(12): yii\base\Application->run()
#20 {main}

@richhayler richhayler changed the title Error Adding a Button Box "Buttons" Field to an Existing Entry [Bug]: Error Adding a Button Box "Buttons" Field to an Existing Entry May 4, 2024
@richhayler richhayler changed the title [Bug]: Error Adding a Button Box "Buttons" Field to an Existing Entry Error Adding a Button Box "Buttons" Field to an Existing Entry May 4, 2024
@engram-design
Copy link
Member

This should already be fixed in 5.0.0-beta.2?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants