Questions tagged [modules]

Questions related to Craft 3 Yii Module Development

Filter by
Sorted by
Tagged with
1 vote
1 answer
35 views

How to make AJAX request to controller inside module?

Created a new module to receive form values and process API in Craft CMS 4. How to make an AJAX request to access a controller in my module? module name - giftcard controller - GiftCardController ...
Shankar's user avatar
  • 11
0 votes
0 answers
24 views

Is it possible to change built-in field like Table with a module?

Is it possible to change behavior of in-built field with a module? I am trying to change // Apply static translations part of _normalizeValueInternal function in Table.php https://github.com/craftcms/...
Foxtrot's user avatar
1 vote
1 answer
25 views

Is there a way to determine an element by its path or full url instead of the uri?

I'm using Craft in headless mode. It's a multisite setup different languages. I know that's it's possible to query an element by it's uri. Is there a way to check if a full path or an absolute url ...
user14370's user avatar
2 votes
1 answer
44 views

Add to an asset field from a queue job

I'm following this to generate social share images from entries: https://ghijk.co.uk/blog/generate-dynamic-social-share-images-in-craft-cms It's working well. But I'd like to add the generated image ...
supazu's user avatar
  • 564
1 vote
1 answer
91 views

Customer Controller and downloading a file (Apple Wallet - using PKPass library)

I'm trying to create a controller for a user to download a membership card as a pass in Apple Wallet. I'm looking to use the PKPass Library. I've got things set up and working using their example like ...
supazu's user avatar
  • 564
0 votes
0 answers
41 views

Class "modules\jobs\GenerateSocialCard" not found

Following this article, I'm trying to generate an image from html on Entry Save, but I'm getting an error when trying to push a job GenerateSocialCard to the Craft queue. I'm using the default Module. ...
Michal Bulla's user avatar
2 votes
2 answers
425 views

Get User ID before the user is created

I'm creating users programmatically, and in some cases, they won't have an email address. In these cases, I would like to just set the email address to [email protected] where 1234 is the User ID. It's ...
supazu's user avatar
  • 564
1 vote
2 answers
136 views

Sprig: how to redirect to a URL after submitting to a custom controller?

I have a multi-pages form which is submitting using Sprig plugin. The action is targeting a controller in a custom module. Each step of the form is loading using the current step stored in session. ...
Romain P.'s user avatar
  • 1,798
1 vote
1 answer
89 views

Commerce LineItem Option validation

I have Line Item options that I'm trying to validate in a module. I'm using the example code from the docs here on the front-end of the cart. Below that it says: Commerce does not validate the ...
supazu's user avatar
  • 564
1 vote
1 answer
86 views

Calculating loyalty from consecutive entries on a user

I'm trying to calculate a 'loyalty' score on Users. I have an Entries field history, with Entries like 2023, 2022, 2021 etc. I want to calculate the number of consecutive years, going backward from ...
supazu's user avatar
  • 564
1 vote
1 answer
82 views

Custom module controller: how to impersonate any user and start its session

From a custom module, I would like to impersonate and start any user session in the browser. This session will be based on a user query result got from a web controller. Something in a way like when ...
Romain P.'s user avatar
  • 1,798
1 vote
1 answer
65 views

Update user matrix field dropdown through module

Appreciate I may be asking for a lot here - I have an existing module that I use to fire events when a stripe order is completed. I would like to iterate through some User matrix blocks and update a ...
Mark's user avatar
  • 717
1 vote
1 answer
36 views

Reuse entry form layout in custom module

I'm currently developing a custom module. I created a section called "bookings" with an entry type containing some fields. I designed the form layout as i wanted. In the CP, the Entry ...
Mathias Marrillet's user avatar
0 votes
1 answer
46 views

Job queue always failed to sync data into api/graphql with Getting unknown property of service

i have build a module to send entry value into a graphql mutation. so far running and succesfully, now with craft 4 (actually as 4.4.0), i plan to use job queue of craft. i add into queue before sync ...
Arham's user avatar
  • 1
1 vote
1 answer
105 views

Call controller from controller passing arguments

new to CraftCMS - I'm building a website that has to handle two different APIs, where the user logs into API-1 and after succeeding the website has to call an other API checking for a status while ...
Luckyfella's user avatar
1 vote
2 answers
125 views

Send mail to admin on new user

I'm trying to make a craft module, which sends a mail to the admin whenever a new user registers. Somehow I'm not able to get this work, anyone knows how to solve this? The module is not able to send ...
aren's user avatar
  • 69
1 vote
1 answer
104 views

Creating a multiple choice quiz module

I'm trying to set up a simple quiz module. I'm using a Matrix field called quiz, with a plain text question field and an answers table field. In the table field, there's two columns, plain text answer ...
supazu's user avatar
  • 564
1 vote
1 answer
269 views

Custom validation & messages

I'm trying to add some custom validation rules to user sign up like this: Event::on( User::class, Element::EVENT_DEFINE_RULES, static function(DefineRulesEvent $event) { $event->rules[] = [['...
supazu's user avatar
  • 564
1 vote
1 answer
406 views

Set "Access-Control-Allow-Origin: *" header in a controller action (CORS issues)

I send a POST request from a headless frontend to a craft controller action but the request is not going trough because of: Cross-Origin Request Blocked: The Same Origin Policy disallows reading the ...
Merc's user avatar
  • 211
0 votes
0 answers
82 views

Programmatically change value of plaintextfield in matrixblock on Entry presave Event

I'm new to craft cms and try to write a module which should hook into the EVENT_BEFORE_SAVE and change the value of a plaintext field within a matrix block. Therefore I've set up the Module just like ...
Maximilian Enzinger's user avatar
0 votes
0 answers
24 views

API get asset field handle after upload

I'v written a little module that renames an asset once uploaded, but I am struggling to figure out how to find the handle of the field it was uploaded from. This so I can limit this renaming to a ...
Kitsune's user avatar
  • 333
0 votes
0 answers
93 views

Programmatically enable an entry for all sites if Enabled in one site

In a multi-sites setup, I have a Channel where Entries are not enabled by default. When a CP user review them, I would like that they are automatically enabled in all sites without having to enable ...
Romain P.'s user avatar
  • 1,798
1 vote
1 answer
107 views

Custom validation rules on user signup

I'm trying to add some rules for users signing up. The first two (fullName and email) work fine. However, the password rules are triggered no matter what. Even if the passwords match and are over 8 ...
supazu's user avatar
  • 564
1 vote
1 answer
134 views

Add rows to table field

I'm having some trouble adding a row to a table field programmatically. I'm iterating over a table inside a Matrix field and would like to save those values to another table (if that makes sense.) ...
supazu's user avatar
  • 564
1 vote
3 answers
294 views

Change asset title and filename on upload

I'm trying to rename files uploaded by users on the frontend. Changing the title is working, but I can't rename the file. Would appreciate some help! Event::on( Asset::class,Asset::...
supazu's user avatar
  • 564
1 vote
1 answer
245 views

How to access craft custom variable from PHP

We are using a custom variable initalized like this in our module: Event::on(CraftVariable::class, CraftVariable::EVENT_INIT, function (Event $event) { /** @var CraftVariable $...
Matthias Redl-Mann's user avatar
2 votes
1 answer
123 views

extending the Craft control panel templates are unstyled

First time building a custom control panel dashboard for a module. Template loads ok but is unstyled and not loading JS that the rest of the control panel screens do. {% extends "_layouts/cp"...
Steven Grant's user avatar
  • 1,855
0 votes
0 answers
39 views

Execute GraphQL query from module on full schema

I know Craft adds a gql function to twig that enables us to load data from the cms in json format into our templates. What is the best way of achieving the same thing in the context of a module? I am ...
Augustine Calvino's user avatar
1 vote
1 answer
80 views

Set asset volume dynamically via module depending on uploaded file kind

I'm trying to set the asset volume dynamically for new assets, using a module. I would like the volume to be based on the asset's file kind – in my case, automatically putting MP4s into a 'Videos' ...
Josh Harrison's user avatar
1 vote
2 answers
101 views

Add to / remove from user group

I have a profile form with a select menu for a user to choose their nearest location (a Category group.) A user will select their nearest location, it will add the category to their profile and then ...
supazu's user avatar
  • 564
1 vote
1 answer
43 views

Count consecutive years in Tag array in a module

I'm coming back to this question after some time because I feel like I have a bit more knowledge to be able to tackle it. Starting from Andy's pseudo-code, this is what I've got and it seems to be ...
supazu's user avatar
  • 564
0 votes
2 answers
222 views

Setting up and understanding a controller

I'm trying to set up a module with a controller as bit of a learning tool. The learning is not going well so far. Here is my setup: - modules - - site - - - playing - - - - Playing.php - - - - ...
supazu's user avatar
  • 564
1 vote
1 answer
261 views

502 Bad Gateway when updating expiry date via module

I'm guessing I'm doing something bad with my code and it's bringing down the server. Here is the full code: Event::on(Element::class, Element::EVENT_BEFORE_SAVE, function (ModelEvent $event) { if (...
supazu's user avatar
  • 564
1 vote
1 answer
38 views

Require Expiry Date

I'm trying to setup a module to require the Expiry Date on a specific Entry Type, borrowing from this question. Can anyone help me learn why my code is wrong? Event::on(Element::class, Element::...
supazu's user avatar
  • 564
1 vote
1 answer
138 views

Can I detect if the event is saving entry?

I have been implementing my own module like this; protected function myFunction() { Event::on( ElementQuery::class, ElementQuery::EVENT_BEFORE_PREPARE, function(Event $event) { ...
Kota.M's user avatar
  • 423
1 vote
1 answer
676 views

$allowAnonymous must be array|int|bool

I'm using a module to add two actions to a form. When submitting the form I get this error. I have used pluginfactory to build this module. I am very new to modules/plugins, so if anyone knows more ...
aren's user avatar
  • 69
0 votes
1 answer
92 views

How to use twig macro inside controller?

I want to use the macro I defined in twig inside a controller or a module. Is that possible?
user's user avatar
  • 63
1 vote
1 answer
124 views

How to use twig function inside another module or plugin?

How to use twig function extensions inside another module or plugin? Say I created filterCats() twig function and it is already available in twig Is it possible to use it inside a module or plugin? ...
user's user avatar
  • 63
1 vote
1 answer
31 views

Reordering Matrix blocks by date in the control panel when saving an entry

I'm trying to reorder Matrix Blocks in date order when saving an entry in the control panel. I kind of have it working using the following code. My Matrix field is 'events'. Each block contains a date ...
Lewis Jenkins's user avatar
1 vote
1 answer
88 views

How do I allow a user to edit another users data via module?

I'm attempting to allow a user to edit other users via a front-end form. The "Edit users" permission has been checked in the admin but when I submit the form the data doesn't save. For this ...
Mike Niland's user avatar
3 votes
1 answer
165 views

Create a pending user from plugin

I'm trying to create a pending user account when an event occurs $newUser = new User([ 'firstName' => $submission->firstName->getValue(), 'lastName' => $submission->lastName->...
Steven Grant's user avatar
  • 1,855
1 vote
1 answer
174 views

Attach file to Freeform submission

I'm building a form that allows a user the ability to attach their authored assets onto the form submission. I have a custom module that's hooking into MailerService in Freeform and looking up the ...
Steven Grant's user avatar
  • 1,855
1 vote
2 answers
137 views

Catching queue fail event

I have a queue that runs from a cron tab and I'd like to know immediately if it ever fails. Is there an event that fires or any other kind of way to hook into the queue behavior in a module when it ...
Brimby's user avatar
  • 333
2 votes
1 answer
646 views

How to run custom module controller actions from console?

I have built a custom module with some custom controller actions - some of which I would like to run via console, but I am not sure what the path/command should be for running these actions? In my ...
iamkeir's user avatar
  • 458
1 vote
1 answer
81 views

Front-End user registration dynamic usernames - duplicate check

I have a front-end user registration form that generates a username automatically based on the first and last name inputs. This works as intended but on the off chance that two people have the same ...
Mike Niland's user avatar
1 vote
1 answer
37 views

`SetElementTableAttributeHtmlEvent` with an array

Second to my other question about adding a column to the orders index, I would now like to add a column looping over the products in the order. How can I do that when then ...
supazu's user avatar
  • 564
1 vote
1 answer
343 views

Creating an asset from an API using a module

I'm currently making a module that I'm hoping is going to create entries and assets from an API. I've got the entries part working and now I'm trying to create an asset from a URI of an image. I've ...
Jack Nixon's user avatar
1 vote
1 answer
250 views

Check user data before login - Events on Craft3?

I need some help with my login process, it's working but I feel it's not the best approach to achieve it I have the following workflow for the Login process : 1- enter username/password -> press ...
Ra3d K's user avatar
  • 125
0 votes
0 answers
88 views

How to save the selected assets in custom module

I am trying to create a custom module where I have created an asset uploader field. Images are getting uploaded with that field but not saved. class Settings extends Model { // Public Properties ...
Eira's user avatar
  • 1
1 vote
1 answer
832 views

How to create custom utility/helper functions for use in Twig templates?

So when using Drupal or Wordpress -- obviously you can write as much PHP in a template as you need, or in Wordpress for example, you can abstract that functionality away to the functions.php file. ...
kevindeleon's user avatar