如何为 djangocms-blog 设置自定义模板?
Posted
技术标签:
【中文标题】如何为 djangocms-blog 设置自定义模板?【英文标题】:How can I set a custom Template for djangocms-blog? 【发布时间】:2015-10-17 15:15:37 【问题描述】:我有一个基于 djangocms 的网站,现在我想要一个应用程序来帮助一个小型博客部分。
现在,我已成功将djangocms-blog 集成到我的网站中,但是当我尝试查看帖子时,模板(我制作的自定义模板)没有呈现,帖子(由博客管理员制作)只是扔在页面上。
有人可以帮我解决这个问题吗?您需要任何其他信息来帮助我解决这个问题吗?
我的模板如下所示:
% extends "base.html" %
% load cms_tags %
% block title %% page_attribute "page_title" %% endblock title %
% block content %
<div class="spacer"></div>
<div class="page-header page-header-blog-post-1 white">
<div class="page-header-container container">
<div class="page-header-content">
<h1 class="heading">BLOG</h1>
</div>
</div>
</div>
<div class="blog-container blog-single container">
<div class="row">
<div class="col-md-8 blog-content margin-bottom-70 clearfix">
% placeholder banner_leaderboard_top %
</div>
</div>
<div class="row">
<div class="col-md-8 blog-content margin-bottom-70 clearfix">
<article id="post-1" class="post-1 post format-standard">
<header class="entry-header">
<div class="post-thumbnail-area">
% placeholder "post_header_image" or %
<img src="/static/img/onepage-slide9.jpg" />
% endplaceholder %
</div>
</header>
<div class="entry-content">
<div class="entry-title blog-info">
<h1 class="heading">% placeholder "post_header_title" or %POST_TITLE% endplaceholder %</h1>
</div>
% placeholder "POST_BODY" or %POST_BODY% endplaceholder %
</div>
<footer class="entry-footer">
<div class="entry-description">
<h6 class="post-date-classic">% placeholder "post_date" or %POST_DATE% endplaceholder %</h6>
</div>
</footer>
</article>
<div class="post-additional">
<script type="text/javascript">
// Popup window code
function newPopup(url)
popupWindow = window.open(
url, 'popUpWindow', 'height=700,width=800,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=no,directories=no,status=yes')
</script>
<ul class="post-share list-inline">
<li><a href="JavaScript:newPopup('https://www.facebook.com/sharer/sharer.php?u='+window.location.href)"><i
class="icon ion-social-facebook"></i></a></li>
<li><a href="JavaScript:newPopup('http://twitter.com/home/?status=Nice blog post - '+window.location.href);"><i
class="icon ion-social-twitter"></i></a></li>
<li><a href="JavaScript:newPopup('https://plus.google.com/share?url='+window.location.href); "><i
class="icon ion-social-googleplus"></i></a></li>
</ul>
<div class="post-navigation nav-links">
<ul class="post-controls list-inline">
<li>
% placeholder "prev_post" or %
<a class="post-prev" href="#"><i class="icon ion-ios7-arrow-thin-left"></i></a></li>
% endplaceholder %
<li>
% placeholder "next_post" or %
<a class="post-next" href="#"><i class="icon ion-ios7-arrow-thin-right"></i></a></li>
% endplaceholder %
</ul>
</div>
</div>
<div class="author-bio">
<div class="row">
<div class="author-avatar col-xs-4 col-sm-3 col-md-3 visible-desktop">
% placeholder "author_img" or %
<img src="/static/img/image-8.jpg" ></div>
% endplaceholder %
<div class="author-details white col-md-9">
<h3>% placeholder "author_name" or %AUTHOR_NAME% endplaceholder %</h3>
<p>% placeholder "author_body" or %AUTHOR_BODY% endplaceholder %</p>
</div>
</div>
</div>
% placeholder banner_leaderboard_bottom %
</div>
<div class="col-md-4">
<div class="sidebar">
<aside id="recent-posts-2" class="widget widget_recent_entries">
<div class="widget-title">
<h5 class="heading">RECENT POSTS</h5>
<div class="fancy-line-small"></div>
</div>
% placeholder "post_recent" or %
<ul>
<li><a href="#">Recent blog post</a></li>
</ul>
% endplaceholder %
</aside>
% placeholder banner_square_right %
</div>
</div>
</div>
</div>
% endblock %
一些管理 djangocms-blog 的图片:
所以,我希望将博客管理员的标题应用到我的模板上,而不是 <h1 class="heading">BLOG</h1>
等等 date
,category
等等
【问题讨论】:
【参考方案1】:如果您想覆盖已安装的应用所使用的模板,您只需在模板目录中模仿相同的模板路径即可。
CMS博客模板可以在here找到。
因此,要覆盖 CMS 博客模板,您应该决定需要覆盖哪个模板,在这种情况下,它听起来像 post_detail.html
,因为您关心的是帖子的显示方式。
所以在您的项目中,您需要创建类似的东西; myproj/templates/djangocms_blog/post_detail.html
然后系统将从 site-packages 文件夹加载那个而不是 post_detail.html
。
【讨论】:
此外,您可以在博客的配置中添加djangocms_blog
以外的模板前缀。这使您可以为网站上的不同博客使用不同的模板。以上是关于如何为 djangocms-blog 设置自定义模板?的主要内容,如果未能解决你的问题,请参考以下文章
如何为我的自定义 UICollectionViewCell 设置属性