- Issue created by @lily.yan
- π¨π¦Canada lily.yan
We still can merge keywords successfully if we run from the operations in the table instead.
Step 1: Go to admin/content/bibcite/keyword, select 'Merge' under Operations of 'key2'. It goes to admin/content/bibcite/keyword//merge
Step 2: Select target 'key1', then click 'Merge'. It goes to confirm/cancel page. It shows 'Are you sure you want to merge key2 to key1?', Click 'Confirm'. It shows: 'key2 has been successfully merged and deleted.'
- πΈπͺSweden thomjjames Sweden
Hi,
Also experiencing this on the views bulk action only. I checked the bibcite_keyword database table and from what I can tell it seems the "keyword" field doesn't exist which is why the query fails when it's looking for the "keyword" field. From looking at the database query it looks like it should point to "id" instead.
It seems like the field_name is passed from the route definition in
modules/bibcite_entity/bibcite_entity.routing.yml
:entity.bibcite_keyword.bibcite_merge_multiple_form: path: '/admin/content/bibcite/keyword/merge' defaults: _form: 'Drupal\bibcite_entity\Form\MergeMultipleForm' entity_type_id: 'bibcite_keyword' field_name: 'keyword' requirements: _permission: 'administer bibcite_keyword'
Patch attached against 3.0.x branch or this routeSubscriber seems to fix it too:
<?php namespace Drupal\MODULE\Routing; use Drupal\Core\Routing\RouteSubscriberBase; use Symfony\Component\Routing\RouteCollection; class MODULERouteSubscriber extends RouteSubscriberBase { public function alterRoutes(RouteCollection $collection) { if ($route = $collection->get('entity.bibcite_keyword.bibcite_merge_multiple_form')) { // Change the default 'field_name' to 'id'. $route->setDefault('field_name', 'id'); } } }
Cheers
Tom - π¨π¦Canada lily.yan
bibcite-keyword-merge-action-3359457-4.patch works for me. Thank you.
- Assigned to mark_fullmer
- Status changed to Needs review
17 days ago 6:54pm 24 June 2025 - Merge request !40Issue #3359457 by thomjjames, lily.yan, mark_fullmer: A 500 error is shown... β (Open) created by mark_fullmer
- πΊπΈUnited States mark_fullmer Tucson
Merge request created from the provided patch to confirm automated test coverage.
- π¨π¦Canada iStryker
I can confirm that the error message goes away, but the merge functionality still does not work.
I tested both the `2.x` and `3.x` branches using both approaches suggested in comment #4 (modifying the YAML file and using a `RouteSubscriber`). Neither method resolved the issue.
The interface reports conflicting messages β one indicating success and another stating that the merge failed.
In the logs, weβre seeing the following PHP warning:
Warning: Undefined array key "target_id" in _bibcite_entity_process_field_value() (line 99 of /modules/contrib/bibcite/modules/bibcite_entity/bibcite_entity.batch.inc)
Adding an
isset()
check on line 99 (and also on line 123) suppresses the warning, but the merge functionality still fails.