I want to make code changes to includes/theme.inc

But I know that this is a core file and I am not supposed to change it. How can I effectively make behaviorial changes to the functionality of this file? Can I add something to themes/mytemplate?

Comments

vm’s picture

artcoder’s picture

I copied the function theme_get_setting from includes/theme.inc to themes/learnwebdesignonline/template.php and gave it the new name phptemplate_get_setting. I had also tried changing the function name to learnwebdesignonline_get_setting and theme_get_setting with no luck.

I made a small alteration to the copied template such as changing "logo.png" to "learnwebdesignonline.png". But the change is not taking place in the live site. I have cleared and disabled cache in "Administer -> Performance".

Does that mean that that function is not overrideable? Or is all functions overridable?

Thanks for your help with the search form as well (that I got working).

vm’s picture

you may need to clear the theme registry.

as a side note the logo can be changed directly in drupal in administer -> themes

see:
http://drupaldojo.com/lesson/new-stuff-in-drupal-6-theming & http://drupaldojo.com/lessons/ which may help and of course the theme developers guide in the documentation area.

mm167’s picture

Hi ArtCoder,

why not telling us, what exactly u want to get?

replace the logo image by another image?

or something more ....??

artcoder’s picture

What I had wanted to do was to change the logo image as well as the logo image filename. The former is easy, just draw a different picture in the graphics file logo.png. The reason I want to also change the filename to "learnwebdesignonline.png"is for SEO purpose. I rather Google see "learnwebdesignonline.png" rather than "logo.png" when it spiders my source code -- although it is debatable as to how significant that effect is.

Thanks, I had now been able to change both the picture and the filename via the administer -> themes without overriding functions. The screencasts in drupaldojo are great, by the way.