Hi Jürgen!
Thanks for pointing me in the right direction. ill give it a shot and upload here a model in the next few days if i get it to work. it might be a useful illustration for some.
coreteamvn → created an issue.
Hello!
I cant install the 5.1 version as well,
Problem 1
- Root composer.json requires drupal/dxpr_theme ^5.1 -> satisfiable by drupal/dxpr_theme[5.1.0].
- drupal/dxpr_theme 5.1.0 requires drupal/bootstrap5 ^3 -> found drupal/bootstrap5[3.0.0, ..., 3.0.7] but it conflicts with your root composer.json require (^2.0).
Hi Jürgen!
All good from my side, I needed to resort to a custom module for a minor part of the workflow.
Thanks
with "datatables" the option to sort are shown on top of the table, but the sorting is not fully correct: (e.g: 0,1.00,15.00,2.4,24) in that only the first number is used to sort
coreteamvn → created an issue.
Thanks a lot, Chi!
coreteamvn → created an issue.
Hi!
Thanks for the input - i set the log level to debug now and try to do some more testing on the weekend.
I made a custom module with datafield handling the few workflows. Most of the things work very well with ECA and datafield - considering the complex structure of datafield (one subfield is even an entity reference field in my case). the only thing i could not manage to implement so far was adding/appending a whole new set of subfields at once. looping through and setting different values worked very well when adding a [deltacounter] and setting/targeting the subfields.
One thing i misunderstood was indeed how the "set tokens action" actually worked. I thought it would leave the original value unchanged and would make a copy of the values. this certainly might have something to do with the behaviour. i also noticed the "content lock" feature kicked in quite often when testing.
i tried the submit event, because the update event gets triggered very often. troublesome when you are not careful and working with loops. had to resort to "change php version" on the shared host to "kill" any background processes.
i will give the pre-save event a shot.
Hi!
I was posting it as a support request. Thanks for the tipp. I will give it a shot.
coreteamvn → created an issue.
Thanks for the pointer. I'll give custom validation a try as well.
Hi Jürgen!
On a clean install i tried it with a multi-value text field (field_text_test).
Two things I noted:
a) Should the content of the multi-value text field not be visible in a ECA display message? In the original posting, the more complex multi-value datafield shows up in the display message (node:field_testtt). Ive tried to show the content of the multi-value text field with "node:field_text_test", "entity:field_text_test" and specifically loaded the node (current scope) ("loadedNode:field_text_test"). In the ECA message nothing shows up (neither before nor after setting tokens); the token that is used later to loop through the multi-value text field and pop items off is correctly populated though.
b) When is the submit form model/event actually triggered? I'm asking because when I want to add a new element to the text field (so before clicking "save") and the ECA loop is (incorrectly) not limited by the >0 condition at the start of the loop, the loading icon to add a new row is permanently showing "Please wait". I thought the event is triggered when one actually clicks the save button (and not already when one wants to add new text values).
The warnings do not appear anymore.
update regarding double_field 📌 Workflow/ECA Module: Definition main property missing Fixed :
Added mainPropertyName method that returns NULL as documentation suggests.
coreteamvn → created an issue.
coreteamvn → created an issue.
coreteamvn → created an issue.
coreteamvn → created an issue.
Thanks, Chi!
coreteamvn → created an issue.
ok, then i misunderstood you. now it works.
I needed to
1) create the datafield
2) in the second step (where one can give the datafield a label), select for example "Content" as "entity reference type"
3) click "Save settings"
4) go back to 2
5) refresh the page (only afterwards the bundle "article" showed up in my case) and set the bundle
6) in "manage form display" go to the widget's details (e.g. autocomplete) and click "update"
I did not make step 6, so nothing showed up.
thanks for this useful module
When I now go back and try to select the entity type, i get an unspecified error and white screen.
The error log shows this:
admin/structure/types/manage/article/fields/node.article.field_testing
Referrer /admin/structure/types/manage/article/fields
Message InvalidArgumentException: Missing required #autocreate['bundle'] parameter. in Drupal\Core\Entity\Element\EntityAutocomplete::processEntityAutocomplete() (line 167 of /home/colljgpc/public_html/staging/web/core/lib/Drupal/Core/Entity/Element/EntityAutocomplete.php).
Thanks for the quick reply.
The rows are there, but there is no autocomplete widget to choose the entites from on the node/add page. see dataField screenshot. There is also warning
Location /node/add/article?_wrapper_format=drupal_ajax&ajax_form=1
Referrer /node/add/article
Warning: Undefined array key "label_display" in Drupal\datafield\Plugin\Field\FieldWidget\DataField->formElement() (line 43 of /home/xyz/public_html/staging/web/modules/contrib/datafield/src/Plugin/Field/FieldWidget/DataField.php)
#0 /home/xyz/public_html/staging/web/core/includes/bootstrap.inc(347): _drupal_error_handler_real()
#1 /home/colljgpc/public_html/staging/web/modules/contrib/datafield/src/Plugin/Field/FieldWidget/DataField.php(43): _drupal_error_handler()
#2 /home/colljgpc/public_html/staging/web/core/lib/Drupal/Core/Field/WidgetBase.php(353): Drupal\datafield\Plugin\Field\FieldWidget\DataField->formElement()
#3 /home/colljgpc/public_html/staging/web/core/lib/Drupal/Core/Field/WidgetBase.php(220): Drupal\Core\Field\WidgetBase->formSingleElement()
#4 /home/colljgpc/public_html/staging/web/core/lib/Drupal/Core/Field/WidgetBase.php(111): Drupal\Core\Field\WidgetBase->formMultipleElements()
#5 /home/colljgpc/public_html/staging/web/core/lib/Drupal/Core/Entity/Entity/EntityFormDisplay.php(183): Drupal\Core\Field\WidgetBase->form()
#6 /home/colljgpc/public_html/staging/web/core/lib/Drupal/Core/Entity/ContentEntityForm.php(121): Drupal\Core\Entity\Entity\EntityFormDisplay->buildForm()
#7 /home/colljgpc/public_html/staging/web/core/modules/node/src/NodeForm.php(127): Drupal\Core\Entity\ContentEntityForm->form()
#8 /home/colljgpc/public_html/staging/web/core/lib/Drupal/Core/Entity/EntityForm.php(106): Drupal\node\NodeForm->form()
#9 [internal function]: Drupal\Core\Entity\EntityForm->buildForm()
#10 /home/colljgpc/public_html/staging/web/core/lib/Drupal/Core/Form/FormBuilder.php(534): call_user_func_array()
#11 /home/colljgpc/public_html/staging/web/core/lib/Drupal/Core/Form/FormBuilder.php(373): Drupal\Core\Form\FormBuilder->retrieveForm()
#12 /home/colljgpc/public_html/staging/web/core/lib/Drupal/Core/Form/FormBuilder.php(631): Drupal\Core\Form\FormBuilder->rebuildForm()
#13 /home/colljgpc/public_html/staging/web/core/lib/Drupal/Core/Form/FormBuilder.php(323): Drupal\Core\Form\FormBuilder->processForm()
#14 /home/colljgpc/public_html/staging/web/core/lib/Drupal/Core/Controller/FormController.php(73): Drupal\Core\Form\FormBuilder->buildForm()
#15 /home/colljgpc/public_html/staging/web/core/modules/layout_builder/src/Controller/LayoutBuilderHtmlEntityFormController.php(39): Drupal\Core\Controller\FormController->getContentResult()
#16 [internal function]: Drupal\layout_builder\Controller\LayoutBuilderHtmlEntityFormController->getContentResult()
#17 /home/colljgpc/public_html/staging/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(123): call_user_func_array()
#18 /home/colljgpc/public_html/staging/web/core/lib/Drupal/Core/Render/Renderer.php(580): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}()
#19 /home/colljgpc/public_html/staging/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(124): Drupal\Core\Render\Renderer->executeInRenderContext()
#20 /home/colljgpc/public_html/staging/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(97): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext()
#21 /home/colljgpc/public_html/staging/vendor/symfony/http-kernel/HttpKernel.php(169): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}()
#22 /home/colljgpc/public_html/staging/vendor/symfony/http-kernel/HttpKernel.php(81): Symfony\Component\HttpKernel\HttpKernel->handleRaw()
#23 /home/colljgpc/public_html/staging/web/core/lib/Drupal/Core/StackMiddleware/Session.php(58): Symfony\Component\HttpKernel\HttpKernel->handle()
#24 /home/colljgpc/public_html/staging/web/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(48): Drupal\Core\StackMiddleware\Session->handle()
#25 /home/colljgpc/public_html/staging/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(106): Drupal\Core\StackMiddleware\KernelPreHandle->handle()
#26 /home/colljgpc/public_html/staging/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(85): Drupal\page_cache\StackMiddleware\PageCache->pass()
#27 /home/colljgpc/public_html/staging/web/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(48): Drupal\page_cache\StackMiddleware\PageCache->handle()
#28 /home/colljgpc/public_html/staging/web/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(51): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle()
#29 /home/colljgpc/public_html/staging/vendor/stack/builder/src/Stack/StackedHttpKernel.php(23): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle()
#30 /home/colljgpc/public_html/staging/web/core/lib/Drupal/Core/DrupalKernel.php(713): Stack\StackedHttpKernel->handle()
#31 /home/colljgpc/public_html/staging/web/index.php(19): Drupal\Core\DrupalKernel->handle()
#32 {main}
.
coreteamvn → created an issue.
LOL
Ive added the function and am testing it during development of the site.
Thanks for the info, Jürgen!
Will do it like that.
Thanks for the info!
I have posted your suggestion in their forum and added the static function in double field FieldType file.
Getting values and display them work now, but the problem with setting/appending is that it creates a new row for each entry. Rather then appending one row with "player" and "points", it adds two rows: one row with "player value" and empty "points" and one with empty "player" and with "points" value. See attached emptyRow screenshot. I have set "save entity" to "no" in the setField action and added a separate "save action" for the entity. The result is unfortunately the same.
The only way i could append entries was counting the existing delta and set and clear this delta directly (see above). however, this approach essentially crashed the drupal installation (the error log showed attempts to set/add field values even after deleting the model). Im not sure if there was another update node model running that actually caused this.
coreteamvn → created an issue.
Hi Jürgen!
Sorry for not being clear enough.
Nested: The doublefield → module and datafield → modules provide for a composite structure. Ive been using double field with d9 and it works very well and is a stable module (also has good views integration).
The modules allow two (double field) or more (datafield) values (text, int, decimal, entity reference,...) to be stored in one field. For instance, one can store a name and some score in one field. In that sense it is similar to the above mentioned thread where one can use YAML to set a structure like:
0:
first: "name of player"
second: 12
I cannot get this to work. Ive been trying the datafield and doublefield module and the result is the same. I can only set the values seperatly in two actions (first and second) where i target a specific delta, but not in one action. Setting value separatly is fine when one can target/set a specific delta (this works perfectly already), but when one wants to add a double field, this approach does not work.
Attached find a simple model and a screenshot of the properties of the node and the double field in particular. It requires the installation of a double field module (e.g. text and decimal as first and second subfield) attached to a content type. When one updates node 287, node 286 with the double field is loaded and two new values should be added. however, the actions (before) getField value are not executed and a few checkpoint display messages are not firing. From the error log:
Failed execution of getValue (Activity_0ir16h6) from ECA Testing DoubleField Additions (process_dbpnxw7) for event Drupal\eca_content\Event\ContentEntityUpdate: Property value is unknown
Failed execution of getDelta0 (Activity_1suu54n) from ECA Testing DoubleField Additions (process_dbpnxw7) for event Drupal\eca_content\Event\ContentEntityUpdate: Property value is unknown
I hope this is useful for you. Please let me know if you need something else.
coreteamvn → created an issue.
the screenshot (loopDisplayWithinLoop) shows the output difference when display action is within loop (sequentially and not parallel).
Hello Jürgen!
Thanks for your info. It was indeed helpful and now it works.
I guess I was wrong in assuming the display action reading starting with "checkpoint: loadedProfile" (see loopScreenshot) is going to get called with every loop run. Instead, it only gets fired once. There was no condition check before (other than the list item >0 count at the beginning of the loop).
coreteamvn → created an issue.
One way to do is:
1) download/get icons (e.g. from fontello), the zip files contain css and font folder
2) upload the folder to dxpr_theme/fonts (so you have fonts/fontello/css/fontello.css)
3) in the dxpr_theme.info.yml file add 'dxpr_theme/fonts' as library:
- libraries:
- 'dxpr_theme/global-styling'
- 'dxpr_theme/fonts'
4) in dxpr_theme.libraries.yml add
fonts:
css:
theme:
fonts/fontello/css/fontello.css: {}
Now the custom icons from fontello show up (after cache clearing and making sure the text field where icons are used are set to full html)