Page 1 of 1

bij toevoegen tag's een komma teveel

Posted: Wed May 29, 2013 6:58 am
by Gregor
Hallo,

O.b.v. dit artikel (http://blog.arvixe.com/add-tagging-func ... les-part1/) heb ik in cgblog een tag-veld aangemaakt. Dit werkt prima met een issue, nl. er wordt standaard na de laatste tag een komma geplaatst die niet zichtbaar is, maar wel in de database wordt opgeslagen. Dit heeft tot gevolg dat op de webpagina de tags netjes worden weergegeven, maar ook een blanco tag. Deze wordt nl. veroorzaakt door de laatste komma.

Nu kan ik dit oplossen in de detailtemplate van cgblog, echter zou ik dit liever opgelost zien voordat er een submit naar de DB wordt gedaan.

Iemand die eens wil meekijken waardoor dit issue wordt veroorzaakt en hoe op te lossen?

Dank!
Gregor

Re: bij toevoegen tag's een komma teveel

Posted: Thu May 30, 2013 1:17 pm
by Rolf
Hoe ziet je template er nu uit, Gregor?
In http://www.cmscanbesimple.org/blog/add- ... ews-module heb ik heb opgelost door een extra: and ($foo != '')

Grtz. Rolf

Re: bij toevoegen tag's een komma teveel

Posted: Thu May 30, 2013 2:04 pm
by Gregor
Hoi Rolf,

Het probleem zit 'm (volgens mij) in de template en Javascript dat wordt gebruikt bij het aanmaken van een cgblog artikel en niet in de detailtemplate voor het weergeven van het artikel. Mogelijk om daar de weergave van het lege veld in op te lossen, echter blijft er dan nog steeds een komma in de database staan :/

Een wat lange detail template:

Code: Select all

<!-- tag_cgblog -->
{strip}
{* Wordt vanuit nieuwtje op voorpagina aangeroepen *}
{* cgfb_init *}
{* capture assign=foo}{CGFeedback key1="CGBlog" key2=$entry->id action='ratings' ratingstemplate="feedback_counter"}{/capture *}

{* set a canonical variable that can be used in the head section if process_whole_template is false in the config.php *}

{if isset($entry->canonical)}
   {assign var='canonical' value=$entry->canonical}
{/if}

{* 28nov11 http://www.i-do-this.com/blog/48/Put-your-CMSMS-Metatags-on-autopilot}
{assign var='get_title' value=$entry->title *}
{assign var='tst_ogtitle' value=$entry->title}
{assign var='detail_page' value='logboek'}
{capture assign='fb_image'}{$entry->file_location}/{$entry->fieldsbyname.facebook_thumbnail->value}{/capture}

{if $entry->summary} 
   {assign var='get_desc' value=$entry->summary|truncate:150|strip_tags|strip}
{else}         
   {assign var='get_desc' value=$entry->content|truncate:150|strip_tags|strip}
{/if}

{if $entry->postdate} 
   {capture assign='meta_date'}{$entry->postdate|date_format:"%a, %d %b %Y %H:%M:%S %z"}{/capture}
{/if}

{* Detail template 
key2 begin news template ja/nee: ({$entry->id|print_r}) <br/> *}

{assign var='uisge_news_id' value=$entry->id}

<h3 id="NewsPostDetailTitle">{$tst_ogtitle}</h3>

<hr id="NewsPostDetailHorizRule"></hr>

{if $entry->category}
	<div id="NewsPostDetailCategory">
		{$category_label} {$entry->category}
	</div>
{/if}

{if $entry->postdate}
   <div id="NewsPostDetailDate">
      {$entry->postdate|date_format:'%a, %d %b %Y'}
   </div>
{/if}

<div id="BlogCounter">
   {CGFeedback key1='CGBlog' key2=$entry->id action='ratings' ratingstemplate='feedback_counter'}  |  Dit artikel is {HitCounter key1="CGBlog" key2=$entry->id} keer bekeken.
   {* global_content name='SocialMedia' *}
</div>

<div class="SocialMedia">
    {global_content name='SocialMedia'}
</div>

{if $entry->summary}
   <div id="NewsPostDetailSummary">
	{eval var=$entry->summary}
   </div>
{/if}

{* if $entry->author}
	<div id="NewsPostDetailAuthor">
	            {$entry->author}
	</div>
{/if *}

<div id="NewsPostDetailContent">
        {eval var=$entry->content}
</div>

{*<div id="NewsPostDetailPrintLink">
	{$entry->printlink}
</div>*}

{if $return_url != ""}
  <div id="NewsPostDetailReturnLink">{$return_url}</div>
{/if}

{* cms_module module='comments' modulename='CGBlog' pageid=$entry->id *}

{if $entry->category == 'Logboek' || $entry->category == 'Tochten' ||  $entry->category == 'Onderhoud'|| $entry->category == 'Hardlopen' ||  $entry->category == 'General' || $entry->category == 'Statistiek'}
categorie </br>
  {cms_module module='comments' modulename='News' pageid=$entry->id}
categorie 1<br />
  {CGFeedback key1="News" key2=$entry->id lang="nl_NL"}
  key2 ja/nee: ({$entry->id|print_r}) <br />
  {CGFeedback key1="CGBlog" key2=$entry->id  lang="nl_NL"} 
  {CGFeedback key1="CGBlog" key2=$entry->id action='summary' lang="nl_NL"} 
  uisge_news_id ja/nee: ({$uisge_news_id})
categorie 2<br />
  {CGFeedback key1="CGBlog" key2=$uisge_news_id  lang="nl_NL"} 
  {CGFeedback key1="CGBlog" key2=$uisge_news_id action='summary' lang="nl_NL"}
{/if}
{if isset($entry->fields)}
    {assign var="taglist" value=$entry->fieldsbyname.Tags->value}
    {assign var="tagwords" value=", "|explode:$taglist}
      {foreach from=$entry->fields item='field'}
            {*<div class="CGBlogDetailField">*}
                {if $field->type == 'image'}
                    <img class=hidden src="{$entry->file_location}&#47;{$field->value}" alt="{$tst_ogtitle}" />
                {elseif $field->name == 'Tags'}
                    {if $field->name != ""} {* tags to show *}
                           {* $field->name} >> *}
                           <h5>Tags</h5>
                           {*assign var="taglist" value=$entry->fieldsbyname.Tags->value*}
                           {* taglist :$taglist|print_r *}
                           {*assign var="tagwords" value=", "|explode:$taglist*}
                           <ul id="taglist">
                                {foreach from=$tagwords item=tagword}
                                <li>
                                    {cms_selflink page='logboek' urlparam="&tag=`$tagword`" text=$tagword|trim}   {* cgblog_logboek *}
                                </li>
                                {/foreach}
                           </ul>

                    {/if}
                {else}
                      {$field->name}: {eval var=$field->value}
                {/if} 
            {*</div>*}
      {/foreach}
{/if}

<h5>Reacties</h5>
{* cgfb_comments href=$entry->detail_url *}

<div class="fb-comments" data-href="{$canonical}" data-num-posts="5" data-width="470"></div>

{* {$canonical} <div class="fb-comments" data-href="{$smarty.server.HTTP_HOST}{$smarty.server.REQUEST_URI}" data-num-posts="5" data-width="470"></div> *}

{if $stats.count !=0}
    {CGFeedback key1="CGBlog" key2=$uisge_news_id action="summary" lang="nl_NL"}
    {startExpandCollapse id="Reageeropditartikel" title="Klik om op dit artikel ook te reageren."}
    {CGFeedback key1="CGBlog" key2=$uisge_news_id action="default" lang="nl_NL"}
    {stopExpandCollapse}
{else}
   <p>Op dit artikel zijn nog geen reacties... Laat als eerste een reactie achter!</p>
    {startExpandCollapse id="Reageeropditartikel" title="Klik om op dit artikel te reageren."}
    {CGFeedback key1="CGBlog" key2=$uisge_news_id action="default" lang="nl_NL"}
    {stopExpandCollapse}
{/if}

<h5>Artikelen binnen dezelfde categorie</h5>
{prev_next pageid=$page_id currid=$entry->id currdate=$entry->postdate}
<div class="prevnext">
   {if $cgblog_next_url}<a href="{$cgblog_next_url}"><< Vorig artikel in deze categorie</a> | {/if}
   {if $cgblog_prev_url}<a href="{$cgblog_prev_url}">Volgend artikel in deze categorie >></a>{/if }
</div>
<br />
{/strip}
Grtz., Gregor

Re: bij toevoegen tag's een komma teveel

Posted: Thu May 30, 2013 2:36 pm
by Rolf
Pff, niet zomaar een uitbreiding :-\

Dit zou het volgens mij oplossen op template niveau:

Code: Select all

<ul id="taglist">
  {foreach from=$tagwords item=tagword}
    {if $tagword != ''}
      <li>
        {cms_selflink page='logboek' urlparam="&tag=`$tagword`" text=$tagword|trim}
      </li>
    {/if}
  {/foreach}
</ul>

Re: bij toevoegen tag's een komma teveel

Posted: Thu May 30, 2013 3:03 pm
by Gregor
Dat lost het inderdaad aan de weergave kant op Rolf :) Maar, grote vraag, hoe los ik het aan de invoerzijde op zodanig dat er geen onnodige komma's in de DB komen te staan :???

Re: bij toevoegen tag's een komma teveel

Posted: Thu May 30, 2013 4:08 pm
by Rolf
Dat noemen ze een "ontwerpkeuze"... ;-)

Re: bij toevoegen tag's een komma teveel

Posted: Thu May 30, 2013 8:13 pm
by Gregor
Rolf wrote:Dat noemen ze een "ontwerpkeuze"... ;-)
:D
Ik laat het topic nog even open voor het geval iemand een eureka-moment heeft over de gebruikte code ;)