How to create your own custom dynamic display block theme
This page gives a detailed step by step instruction on how to create your own custom dynamic display block theme.
This example assumes that you want to make a new theme: custom40-a using the existing theme upright40.
- Go to directory: sites/all/[YOUR_THEME_NAME]/custom/modules/ddblock
- Create a copy of ddblock-cycle-block-content-upright40.tpl.php and save as ddblock-cycle-block-content-custom40-a.tpl.php.
- Edit ddblock-cycle-block-content-custom40-a.tpl.php
- Replace all occurrences of upright40 with custom40-a.
- Replace all occurrences of $template with $custom_template
- From the code:
drupal_add_css($directory .'/custom/modules/ddblock/'.$template. '/ddblock-cycle-'.$template. '.css', 'template', 'all', FALSE);
Change to:
drupal_add_css($directory .'/custom/modules/ddblock/'.$custom_template. '/ddblock-cycle-'.$custom_template. '.css', 'template', 'all', FALSE);
-
From the code:
<div id="ddblock-<?php print $delta ?>" class="ddblock-cycle-<?php print $template ?> clear-block">
Change to:
<div id="ddblock-<?php print $delta ?>" class="ddblock-cycle-<?php print $custom_template ?> clear-block">
- Create a copy of ddblock-cycle-pager-content-upright40.tpl.php and save as ddblock-cycle-pager-content-custom40-a.tpl.php.
- Edit ddblock-cycle-pager-content-custom40-a.tpl.php
- Replace all occurrences of upright40 to custom40-a.
- Create a copy of the upright40 directory and save as custom40-a.
- Goto the custom40-a directory
- Rename ddblock-cycle-upright40.css to ddblock-cycle-custom40-a.css.
- Edit ddblock-cycle-custom40-a.css
- Replace all occurrences of upright40 with custom40-a.
- You can now edit the template files and the css file to get your desired advanced dynamic display block layout.
Comments
I can't see any image after following the above steps
Hello ppblauuw,
Sincerely nice work. However, I have followed the steps described above but after changing the theme to custom in the block configuration, I can't seem to see any image get displayed. I don't know where i'm missing it.
My question is apart from changing $template to $custom_template in the custom template, is there any variable that needs to be modified? What about the template override in the template.php file, should the override be removed? i don't know. I just need help.
Thanks.
Nevermind I got a solution.
Nevermind I got a solution. Nice work.
Error on creating custom template files
I copied the template files as per the instructions above except that I used connect2mason as the name.
My directory structure is:
sh-3.2$ ls *
ddblock-cycle-block-content-connect2mason.tpl.php ddblock-cycle-pager-content-connect2mason.tpl.php NOTES.txt
ddblock-cycle-block-content-upright40.tpl.php ddblock-cycle-pager-content-upright40.tpl.php
connect2mason:
ddblock-cycle-connect2mason.css
images:
readmore-hover.png readmore.png transparent_bg.png
TMP:
ddblock-cycle-block-content.tpl.php ddblock-cycle-block-content-upright30.tpl.php ddblock-cycle-pager-content-upright10.tpl.php ddblock-cycle-pager-content-upright50.tpl.php upright30
ddblock-cycle-block-content-upright10.tpl.php ddblock-cycle-block-content-upright50.tpl.php ddblock-cycle-pager-content-upright20.tpl.php upright10 upright50
ddblock-cycle-block-content-upright20.tpl.php ddblock-cycle-pager-content.tpl.php ddblock-cycle-pager-content-upright30.tpl.php upright20
upright40:
ddblock-cycle-upright40.css
The error I receive is
The block configuration has been saved.
warning: include(./sites/all/themes/tao/custom/modules/ddblock/ddblock-cycle-pager-content.tpl.php) [function.include]: failed to open stream: No such file or directory in /home/drupal/public_html/includes/theme.inc on line 1020.
warning: include() [function.include]: Failed opening './sites/all/themes/tao/custom/modules/ddblock/ddblock-cycle-pager-content.tpl.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php') in /home/drupal/public_html/includes/theme.inc on line 1020.
warning: include(./sites/all/themes/tao/custom/modules/ddblock/ddblock-cycle-block-content.tpl.php) [function.include]: failed to open stream: No such file or directory in /home/drupal/public_html/includes/theme.inc on line 1020.
warning: include() [function.include]: Failed opening './sites/all/themes/tao/custom/modules/ddblock/ddblock-cycle-block-content.tpl.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php') in /home/drupal/public_html/includes/theme.inc on line 1020.
Re: Error on creating custom template files
The error says that it can not find the files
You need to have:
in the directory
Otherwise files like:
can not be used.
Same as you need:
in the same directory of your theme when you want to use template files per node content_type like
Hope this helps you further, please let me know.
warning: Invalid argument
warning: Invalid argument supplied for foreach() in F:\wamp\www\netcare\sites\all\themes\xinonetworks\custom\modules\ddblock\ddblock-cycle-block-content-upright10.tpl.php on line 47.
why?
thank you!
Re: warning Invalid argument
Have a look at the faq question warning: Invalid argument supplied for foreach() in... solution?
Hope this helps you further, please let me know.
If not please make an issue in the issue queue of the module.
Additional themes
I got the upright package working and now I would like to add your additional weekly themes. I have tried copying these into the formers' folder estructure, so that they will coexist. But this method replaces some files from upright and doesn't seem to work. How can I have the new themes available without deleting others?
Thank you so much,
How to change location
How do you change the path to the theme?
I would like to have the path be: [MY-THEME]/ddblock/
instead of: [MY-THEME]/custom/modules/ddblock/[TEMPLATE]/
Re: How to change location
Move the ddblock directory from:
[MY-THEME]/custom/modules/
to
[MY-THEME]/
delete the custom directory including the subdirectory modules
Clear the cache at Administer > Site configuration > Performance
Hope this helps you further, please let me know.
worked
That works, thanks for the help.