Error during setup:di:compile

I am in developer mode and I get the below error while running setup:di:compile command. The logs also show the same error. I don’t know if anyone has encountered such an error.

Magento 2.4.5-p1. In Generator.php line 140:

Class “MagentoCatalogBlockProductData” does not exist

Class MagentoCatalogBlockProductAbstractProductsInterceptor generation error: The requested class did not generate properly, because the ‘generated’ directory permission is read-only. If — after running the ‘bin/magento setup:di:compile’ CLI command when the ‘generated’ d

irectory permission is set to write — the requested class did not generate properly, then y

ou must add the generated class object to the signature of the related construct method, only

.

submitted by /u/figonju
[link] [comments]

Switching to Production Mode

Being the procrastinator I am, I have yet to switch to production mode. Mainly because things are fine in developer mode in my opinion, but still need to switch.

I will have to do the skip compilation method for this because it keeps erroring out, so my question is: what will I need to do afterwards? I can’t seem to find a good answer, but what I assume I would have to do afterwards is:

php bin/magento setup:upgrade php bin/magento setup:di:compile php bin/magento setup:static-content:deploy

submitted by /u/sparkyboom4
[link] [comments]

Firebear Studio

We use Firebear Studio to import new items into Magento. In the spreadsheet, there is a field called configurable_variations where you specify a mapping of SKUs and item attributes like size and color.

Here is an example:

sku=BC11-ADT-BG,ns_color=BLACK – GRAY,ns_size=ADULT|sku=BC11-ADT-BLK,ns_color=BLACK,ns_size=ADULT|sku=BC11-ADT-GG,ns_color=GRAY – GRAY,ns_size=ADULT|sku=BC11-ADT-GRY,ns_color=GRAY,ns_size=ADULT

The problem is that some of our sizes and color use a pipe to display two colors like this Black | White, but the field uses a pipe as a delimiter.

Is there any way to delimit the value so that so the pipes in the color and size names import correctly?

submitted by /u/dysco_dave
[link] [comments]

Bulk API consummer performances

Hello ! I’m currently using the bulk api to load data faster and I’m facing a lack or performance regarding the rabbitmq consummer.

The bulk API messages go into a rabbitmq queue called “async.operations.all” and with the following env.php, everytimg I’m running the consumer, I can process the messages.

env.php :

'queue' => [
'consumers_wait_for_messages' => 1,
'max_messages' => 0,
'amqp' => [
'host' => getenv('AMQP_HOST'),
'port' => getenv('AMQP_PORT'),
'user' => getenv('AMQP_USER'),
'password' => getenv('AMQP_PASS'),
'virtualhost' => '/'
]
],
'cron_consumers_runner' => [
'cron_run' => false

Problem : I got a message rate that is ~0.4 per second and I would like to know if we can set something to make it faster.

command used to process messages :

php bin/magento queue:consumers:start --batch-size=200 async.operations.all

Do you have any suggestion or best practice ?

submitted by /u/No-Appointment-3446
[link] [comments]

How long to switch out Porto?

The short of it; default Porto is pretty slow in performance and a pile of extensions aren’t working properly. More hours and money being wasted trying to get things to work…

How long might it take to switch out Porto to something else or custom build to look like current Porto design site(close to demo look)?

Argento, Jet, modified luma or blank custom built?

submitted by /u/Glum_Award9379
[link] [comments]

TypeError: Illegal offset type in isset or empty

when trying to export to CSV, i get TypeError: Illegal offset type in isset or empty in vendor/magento/module-ui/Model/Export/MetadataProvider.php:174

line 174 is if (isset($options[$column][$key])) {

public function getRowData(DocumentInterface $document, $fields, $options): array { $row = []; foreach ($fields as $column) { if (isset($options[$column])) { $key = $document->getCustomAttribute($column)->getValue(); if (isset($options[$column][$key])) { $row[] = $options[$column][$key]; } else { $row[] = ''; } } else { $row[] = $document->getCustomAttribute($column)->getValue(); } } return $row; } 

any help with this?

submitted by /u/atherakber
[link] [comments]

When to use Extension Attributes instead of Custom Attributes?

It seems that both Custom Attributes and Extension Attributes can be used to add fields to entities. What should a developer consider when choosing between the two?

It seems that Custom Attribute fields may just “appear” on the backend, but will not just “appear” on the frontend in Magento Open Source. But they can be added to the frontend by editing the PHTML files I believe. Can Extension Attributes be presented on both the frontend and the backend? Will they just “appear” in either location? If not, how are they added to the PHTML fields? What must be done to get them to appear in the backend? How about Customers’ personal dashboards?

For instance, consider a text field on a Customer Address. This field should appear in the following Forms:

  1. Checkout Guest
  2. Checkout Logged In (Store New Address)
  3. Customer Dashboard -> Address Book -> Add New Address (customer_address_new)
  4. Customer Dashboard -> Address Book -> Edit Address (customer_address_edit)
  5. Admin Dashboard: Customers -> All Customers -> Edit -> Address tab (customer_index_edit)
  6. Admin Dashboard: Sales -> Orders -> Edit -> Billing Address

Should that be a Custom Attribute or Extension Attribute?

How about a field that would be directly on the Customer itself? Such a field should appear in the following Forms:

  1. Customer Account Create Form
  2. Customer Dashboard: Edit Account Information (customer_account_edit)
  3. Admin Dashboard: Customers -> All Customers -> Edit -> Account Information tab (customer_index_edit)

Should that be a Custom Attribute or Extension Attribute?

submitted by /u/dotancohen
[link] [comments]