Sometimes during development, you need to run the same post update hook repeatedly. Instead of resetting Drupals internal registry on already-run updates, we can also use drush to run a specific hook manually.
If you see the error The path is not accessible in Docker
when running $ fin up
to get a docksal based project to run, it might be worth confirming that you are logged into docker.com by running $ docker login
.
I couldn't find information on this easily, so I thought it's worth putting this here.
The equivalent of drupal_var_export()
/ ctools_var_export()
in Drupal 8/9 is Variable::export()
:
Quick and dirty on linux based systems:
mysql -u$DB_USER -p$DB_PASS -D$DB_NAME -h$DB_HOST -e "show tables" -s \
| awk \
-v DB_USER=$DB_USER \
-v DB_PASS=$DB_PASS \
-v DB_NAME=$DB_NAME \
-v DB_HOST=$DB_HOST \
'{ print "mysql -u"DB_USER" -p"DB_PASS" -D"DB_NAME" -h"DB_HOST" -e \"DROP TABLE "$1"\""}' \
| sh
For repeating table headers across pages when creating PDFs with puppeteer and headless chrome, use thead
and these CSS declarations:
thead {
display: table-header-group;
break-inside: avoid;
}
The D8 project I'm currently working on used the file-system based workflow for configuration management. As our deployment workflow improved and got slightly more complex, we started to run into issues with file permissions during deployments and wanted to revert back to the database based workflow that is the default for a new D8 installation.
When trying to get the title of the current page manager panels page in Drupal 7 and drupal_get_title() isn't working, try this one:
$page = page_manager_get_current_page();
$page_title = $page['handler']->conf['display']->get_title();
The last months I was busy with a friends art project. Today I'm very happy to announce that it went public on july 15th and is doing good so far.
During the Drupal 8 port of my relatively new Mefibs module I realized that block creation in code got somewhat more complex than it used to be in Drupal 7 and earlier. It took me quite a while to figure out how this works, especially because there is not a lot of documentation for Drupal 8 yet. So I had to dig my way through core to see how it's done there and finally I got around it. The following is a comparison between how we used to do this in Drupal 7 and how it's done in Drupal 8.
Finally there are stable releases for my Webform Protected Downloads module.