Theme functions are deprecated and should be replaced with twig templates. This has been true for a while, but since #3109480: Properly deprecate theme functions for Drupal 10 was committed, we now get a warning:
User deprecated function: Theme functions are deprecated in drupal:8.0.0 and are removed from drupal:10.0.0. Use Twig templates instead of template_preprocess_views_slideshow_slide_counter_widget_render(). See https://www.drupal.org/node/1831138 in Drupal\Core\Theme\Registry->processExtension() (line 498 of core/lib/Drupal/Core/Theme/Registry.php).
Drupal\Core\Theme\Registry->processExtension(Array, 'views_slideshow', 'module', 'views_slideshow', 'modules/contrib/views_slideshow') (Line: 341)
All of the theme functions defined in hook_theme need to be updated.
Comments
Comment #2
neslee canil pintoComment #3
bonchak commentedHello, same problem here
Comment #4
douggreen commentedI think that this is a simple fix. However, I'm not familiar enough with this module to know if this change does theme properly. Patch attached.
Looking at the git history, I think these have just always been wrong. The use of 'function' in hook_theme() existed not for the theme preprocess hook, but for the theme function itself. Theme preprocess hooks don't need to be defined.
Comment #5
douggreen commentedComment #7
douggreen commentedNope, it's not that simple. I get errors with this. We also need to create the missing templates.
Comment #8
douggreen commentedThis should work :)
Comment #9
bonchak commentedAfter applying the patch I've recieved this error ;
Twig\Error\LoaderError: Template "modules/views_slideshow/templates/views-slideshow-slide-counter-widget.html.twig" is not defined. in Twig\Loader\ChainLoader->getCacheKey() (line 29 of modules/views_slideshow/templates/views-view-slideshow.html.twig).
Twig\Environment->getTemplateClass('modules/views_slideshow/templates/views-slideshow-slide-counter-widget.html.twig', NULL) (Line: 139)
Drupal\Core\Template\TwigEnvironment->getTemplateClass('modules/views_slideshow/templates/views-slideshow-slide-counter-widget.html.twig') (Line: 381)
Twig\Environment->loadTemplate('modules/views_slideshow/templates/views-slideshow-slide-counter-widget.html.twig') (Line: 65)
twig_render_template('modules/views_slideshow/templates/views-slideshow-slide-counter-widget.html.twig', Array) (Line: 384)
Drupal\Core\Theme\ThemeManager->render('views_slideshow_slide_counter_widget', Array) (Line: 431)
Drupal\Core\Render\Renderer->doRender(Array) (Line: 444)
Drupal\Core\Render\Renderer->doRender(Array, ) (Line: 200)
Drupal\Core\Render\Renderer->render(Array) (Line: 450)
Drupal\Core\Template\TwigExtension->escapeFilter(Object, Array, 'html', NULL, 1) (Line: 93)
__TwigTemplate_a33dcadc165616a057d5c2f9c3731e280227409d5bb93bfed4d4c6faebaa49cc->doDisplay(Array, Array) (Line: 407)
Twig\Template->displayWithErrorHandling(Array, Array) (Line: 380)
Twig\Template->display(Array) (Line: 392)
Twig\Template->render(Array) (Line: 65)
twig_render_template('modules/views_slideshow/templates/views-view-slideshow.html.twig', Array) (Line: 384)
Drupal\Core\Theme\ThemeManager->render('views_view_slideshow', Array) (Line: 431)
Drupal\Core\Render\Renderer->doRender(Array) (Line: 444)
Drupal\Core\Render\Renderer->doRender(Array, ) (Line: 200)
Drupal\Core\Render\Renderer->render(Array) (Line: 450)
Drupal\Core\Template\TwigExtension->escapeFilter(Object, Array, 'html', NULL, 1) (Line: 133)
__TwigTemplate_52a5b1bdeaae4ad253c11e7a368510b26aed7af0b43a0bfa5f0a987df02984bc->doDisplay(Array, Array) (Line: 407)
Twig\Template->displayWithErrorHandling(Array, Array) (Line: 380)
Twig\Template->display(Array) (Line: 392)
Twig\Template->render(Array) (Line: 65)
twig_render_template('themes/contrib/d8w3css/templates/views/views-view.html.twig', Array) (Line: 384)
Drupal\Core\Theme\ThemeManager->render('views_view', Array) (Line: 431)
Drupal\Core\Render\Renderer->doRender(Array) (Line: 444)
Drupal\Core\Render\Renderer->doRender(Array, ) (Line: 200)
Drupal\Core\Render\Renderer->render(Array) (Line: 450)
Drupal\Core\Template\TwigExtension->escapeFilter(Object, Array, 'html', NULL, 1) (Line: 106)
__TwigTemplate_1979a919f0a21e35b1ffd23f758615f7c4b1682bbab2a55da5fd6cd680a7b9c4->block_content(Array, Array) (Line: 184)
Twig\Template->displayBlock('content', Array, Array) (Line: 94)
__TwigTemplate_1979a919f0a21e35b1ffd23f758615f7c4b1682bbab2a55da5fd6cd680a7b9c4->doDisplay(Array, Array) (Line: 407)
Twig\Template->displayWithErrorHandling(Array, Array) (Line: 380)
Twig\Template->display(Array) (Line: 392)
Twig\Template->render(Array) (Line: 65)
twig_render_template('themes/contrib/d8w3css/templates/block/block.html.twig', Array) (Line: 384)
Drupal\Core\Theme\ThemeManager->render('block', Array) (Line: 431)
Drupal\Core\Render\Renderer->doRender(Array) (Line: 444)
Drupal\Core\Render\Renderer->doRender(Array, ) (Line: 200)
Drupal\Core\Render\Renderer->render(Array) (Line: 450)
Drupal\Core\Template\TwigExtension->escapeFilter(Object, Array, 'html', NULL, 1) (Line: 393)
__TwigTemplate_b679882a4ab0abf8c1742e05764754be750d5fb2095dad02c734ec5ee56ffdd4->doDisplay(Array, Array) (Line: 407)
Twig\Template->displayWithErrorHandling(Array, Array) (Line: 380)
Twig\Template->display(Array) (Line: 392)
Twig\Template->render(Array) (Line: 65)
twig_render_template('themes/contrib/d8w3css/templates/layout/page.html.twig', Array) (Line: 384)
Drupal\Core\Theme\ThemeManager->render('page', Array) (Line: 431)
Drupal\Core\Render\Renderer->doRender(Array, ) (Line: 200)
Drupal\Core\Render\Renderer->render(Array) (Line: 450)
Drupal\Core\Template\TwigExtension->escapeFilter(Object, Array, 'html', NULL, 1) (Line: 109)
__TwigTemplate_4aeb21d6d2df88ed8bdc8377178eceba5f1d7213ced0f315ef4ca2efa4d2dff4->doDisplay(Array, Array) (Line: 407)
Twig\Template->displayWithErrorHandling(Array, Array) (Line: 380)
Twig\Template->display(Array) (Line: 392)
Twig\Template->render(Array) (Line: 65)
twig_render_template('themes/contrib/d8w3css/templates/layout/html.html.twig', Array) (Line: 384)
Drupal\Core\Theme\ThemeManager->render('html', Array) (Line: 431)
Drupal\Core\Render\Renderer->doRender(Array, ) (Line: 200)
Drupal\Core\Render\Renderer->render(Array) (Line: 147)
Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 573)
Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object) (Line: 148)
Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse(Array, Object, Object) (Line: 90)
Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray(Object, 'kernel.view', Object) (Line: 78)
Symfony\Component\EventDispatcher\LegacyEventDispatcherProxy->dispatch(Object, 'kernel.view') (Line: 163)
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1) (Line: 80)
Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (Line: 57)
Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (Line: 47)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (Line: 106)
Drupal\page_cache\StackMiddleware\PageCache->pass(Object, 1, 1) (Line: 85)
Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1) (Line: 47)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (Line: 52)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (Line: 23)
Stack\StackedHttpKernel->handle(Object, 1, 1) (Line: 705)
Drupal\Core\DrupalKernel->handle(Object) (Line: 19)
Comment #10
trevorbradley commented#8 working great here without errors!
@bonchak - does that error go away with a drush cr? The views-slideshow-slide-counter-widget.html.twig template file definitely exists in my post-patched module. (Double check if the directory lines up too)
Comment #11
neslee canil pintoGetting the same error has mentioned in #9
Comment #12
bonchak commented@TrevorBradley - just checked the files and "views-slideshow-slide-counter.html.twig" exists however "views-slideshow-slide-counter-widget.html.twig" is missing. I tried to find the file so that I can upload manually but can't find it.
Comment #13
jhnnsbstnbch commentedI am using Drupal 9.0.3 and the dev version of this module. I am getting the error in #3 above.
I have not yet applied the patch because, like @bonchak in #12 above, I checked and while I can validate that "views-slideshow-slide-counter.html.twig" exists in the templates directory, the file for which this patch was developed -- "views-slideshow-slide-counter-widget.html.twig" -- is missing from both the regular and dev versions of this module. Thank you.
Comment #14
tjtj commentedI get this too in Drupoal 9.0.5
User deprecated function: Theme functions are deprecated in drupal:8.0.0 and are removed from drupal:10.0.0. Use Twig templates instead of template_preprocess_views_slideshow_slide_counter_widget_render(). See https://www.drupal.org/node/1831138 in Drupal\Core\Theme\Registry->processExtension() (line 498 of core/lib/Drupal/Core/Theme/Registry.php).
Comment #15
tjtj commentedWe need a fix for this please. And please put it into the dev release so we do not have to muck around with patches in Composer.
Comment #16
neslee canil pinto#8 removed the error for me, does this works for others. If so i am ready to commit the patch.
Comment #17
mjpa commentedSeems to work for me. Not getting the error mentioned in #9.
Comment #18
r81d3r commentedpatch #8 works for me.. thanks
Comment #19
neslee canil pintoMoving to RTBC
Comment #21
neslee canil pintoCommitted to dev branch. Thanks.