Skip to content

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

@richhayler

Description

@richhayler

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}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions