timmyomahony / craft-matrix-field-preview

Configure a screenshot preview for all your matrix field blocks, giving your clients a better publishing experience.
https://plugins.craftcms.com/matrix-field-preview
Other
16 stars 4 forks source link

When Switching Entry Types, Matrix Field Preview Does Not Initialize On Entry's Matrix Fields #55

Closed tjdraper closed 4 years ago

tjdraper commented 4 years ago

When viewing an entry or creating a new entry, when selecting a different entry type with the entry type switcher, Matrix Field Preview does not initialize on the Matrix fields (existing from the previous entry type or new fields) in the entry type.

Before switching entry types:

Screen Shot 2020-11-19 at 3 54 02 PM Screen Shot 2020-11-19 at 3 54 27 PM

After switching entry types:

Screen Shot 2020-11-19 at 3 54 49 PM Screen Shot 2020-11-19 at 3 55 46 PM
timmyomahony commented 4 years ago

Thanks for the report. That's interesting, are you using the latest version (1.2)? I didn't anticipate the entry type dropdown. That said, it technically should be working as the plugin listens for when matrix fields get init'ed.

Let me check it out and see if I can replicate

tjdraper commented 4 years ago

Odd. I'm so sorry, I thought I was running the latest version before the bug report because the latest tagged version is not showing up in Craft. But I'm running 1.1.3.

Screen Shot 2020-11-20 at 10 26 47 AM Screen Shot 2020-11-20 at 10 27 44 AM

I'll try 1.2 and let you know.

tjdraper commented 4 years ago

I'm going to try to point composer at this repo manually to pick up and test 1.2.0, but I thought you'd want to know that Packagist is not picking up 1.2.0.

Screen Shot 2020-11-20 at 10 32 03 AM Screen Shot 2020-11-20 at 10 32 14 AM
timmyomahony commented 4 years ago

Ah, that's weird. I think I had an issue with the composer version number. I've just added a new 1.2.1 release that looks like it's appearing correctly:

https://packagist.org/packages/weareferal/matrix-field-preview#1.2.1

tjdraper commented 4 years ago

Now getting this when updating to 1.2.1.

Screen Shot 2020-11-20 at 10 44 44 AM
Database Exception: SQLSTATE[HY000]: General error: 1553 Cannot drop index 'craft_matrixfieldpreview_blocktypes_config_siteId_fk': needed in a foreign key constraint
The SQL being executed was: ALTER TABLE craft_matrixfieldpreview_blocktypes_config DROP COLUMN siteId

Migration: weareferal\matrixfieldpreview\migrations\m201031_132510_remove_unused_site_id

Output:

> drop column siteId from table {{%matrixfieldpreview_blocktypes_config}} ...Exception: SQLSTATE[HY000]: General error: 1553 Cannot drop index 'craft_matrixfieldpreview_blocktypes_config_siteId_fk': needed in a foreign key constraint
The SQL being executed was: ALTER TABLE craft_matrixfieldpreview_blocktypes_config DROP COLUMN siteId (/var/www/vendor/yiisoft/yii2/db/Schema.php:677)
#0 /var/www/vendor/yiisoft/yii2/db/Command.php(1298): yii\db\Schema->convertException(Object(PDOException), 'ALTER TABLE cr...')
#1 /var/www/vendor/yiisoft/yii2/db/Command.php(1093): yii\db\Command->internalExecute('ALTER TABLE cr...')
#2 /var/www/vendor/yiisoft/yii2/db/Migration.php(392): yii\db\Command->execute()
#3 /var/www/vendor/weareferal/matrix-field-preview/src/migrations/m201031_132510_remove_unused_site_id.php(20): yii\db\Migration->dropColumn('{{%matrixfieldp...', 'siteId')
#4 /var/www/vendor/craftcms/cms/src/db/Migration.php(52): weareferal\matrixfieldpreview\migrations\m201031_132510_remove_unused_site_id->safeUp()
#5 /var/www/vendor/craftcms/cms/src/db/MigrationManager.php(232): craft\db\Migration->up(true)
#6 /var/www/vendor/craftcms/cms/src/db/MigrationManager.php(148): craft\db\MigrationManager->migrateUp(Object(weareferal\matrixfieldpreview\migrations\m201031_132510_remove_unused_site_id))
#7 /var/www/vendor/craftcms/cms/src/services/Updates.php(257): craft\db\MigrationManager->up()
#8 /var/www/vendor/craftcms/cms/src/controllers/BaseUpdaterController.php(509): craft\services\Updates->runMigrations(Array)
#9 /var/www/vendor/craftcms/cms/src/controllers/UpdaterController.php(203): craft\controllers\BaseUpdaterController->runMigrations(Array, 'restore-db')
#10 [internal function]: craft\controllers\UpdaterController->actionMigrate()
#11 /var/www/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array(Array, Array)
#12 /var/www/vendor/yiisoft/yii2/base/Controller.php(180): yii\base\InlineAction->runWithParams(Array)
#13 /var/www/vendor/craftcms/cms/src/web/Controller.php(190): yii\base\Controller->runAction('migrate', Array)
#14 /var/www/vendor/yiisoft/yii2/base/Module.php(528): craft\web\Controller->runAction('migrate', Array)
#15 /var/www/vendor/craftcms/cms/src/web/Application.php(274): yii\base\Module->runAction('updater/migrate', Array)
#16 /var/www/vendor/craftcms/cms/src/web/Application.php(665): craft\web\Application->runAction('updater/migrate')
#17 /var/www/vendor/craftcms/cms/src/web/Application.php(232): craft\web\Application->_processUpdateLogic(Object(craft\web\Request))
#18 /var/www/vendor/yiisoft/yii2/base/Application.php(386): craft\web\Application->handleRequest(Object(craft\web\Request))
#19 /var/www/web/index.php(13): yii\base\Application->run()
#20 {main}
timmyomahony commented 4 years ago

Damn, looks like an issue with the migrations I've added. I'll have to debug locally and get back to you.

timmyomahony commented 4 years ago

@tjdraper OK I was able to replicate this and I've hopefully got a fix for it in the latest release. Please download version 1.2.3 and try the migration again. Apologies, I know these migration issues are annoying.

tjdraper commented 4 years ago

Thanks! 1.2.3 resolves the migration issue. AND it looks like this version does resolve the original issue.

timmyomahony commented 4 years ago

Great, glad both issues are sorted 👍