Header Bar Separator Issue
11 posts by 3 authors in: Forums > CMS Builder
Last Post: October 24, 2016 (RSS)
Hi All,
In recent versions of CMSB, I’ve noticed that Header Bar separators that have formatting code in them like:
<font color="red"><b>SHOW IN CURRENT NEWSLETTER OR ON WEB SITE</b></font>
show up correctly as Red and Bold text in the section editor, but when I go to a record in the section, I see the complete code and text without the formatting.
Any suggestions?
Thanks,
Jerry Kornbluth
Take advantage of a free 3 month trial subscription, only for CMSB users, at: http://www.thecmsbcookbook.com/trial.php
By Daryl - October 6, 2016
Hi Jerry,
Can you please try using the HTML separator instead of the header bar and add the following HTML:
<div class="separator "><div><font color="red"><b>SHOW IN CURRENT NEWSLETTER OR ON WEB SITE</b></font></div></div>
And please let me know if that works for you.
Thanks,
PHP Programmer - interactivetools.com
Hi Daryl,
Thanks for looking at this.
It does work, however there are a few serious issues with going this route.
1) I and many other developers have multiple sites with many header bars that have been styled.
2) It would be a great deal of work to find and then to restyle all existing header bars.
3) the html separator has never, and does not now display its contents in the section editor. Instead it only displays ---html -- and separator #, which makes them not as useful as they might be.
Based on the above, it would really be beneficial if header bar styling worked as it did prior to V 3.0
Best,
Jerry Kornbluth
Take advantage of a free 3 month trial subscription, only for CMSB users, at: http://www.thecmsbcookbook.com/trial.php
By Daryl - October 11, 2016
Hi Jerry,
Thanks for your inputs, I will discuss it with our senior programmer.
Regards,
PHP Programmer - interactivetools.com
Much appreciated,
Jerry
Take advantage of a free 3 month trial subscription, only for CMSB users, at: http://www.thecmsbcookbook.com/trial.php
By Dave - October 19, 2016
Hi Jerry,
Can you try this patch (we'll have this in the next release):
In /lib/admin_functions.php search for "to display even" and replace this line:
$attrs['label'] = $attrs['label'] !== "" ? htmlencode($attrs['label']): ' '; // default to to display even with empty string
With this line:
$attrs['label'] = $attrs['label'] !== "" ? $attrs['label'] : ' '; // default to to display even with empty string
Let me know if that works for you.
interactivetools.com
Thanks Dave,
That made all the difference!
Works perfectly and made it much easier.
Any chance that showing the contents of html separators in the field list is as simple a fix?
Jerry Kornbluth
Take advantage of a free 3 month trial subscription, only for CMSB users, at: http://www.thecmsbcookbook.com/trial.php
By Dave - October 20, 2016
It should show for "Header Bar" separators, but not HTML ones. You mean for HTML ones?
interactivetools.com
By gkornbluth - October 20, 2016 - edited: October 20, 2016
Hi Dave,
The Header Bars now display with styling as they should.
HTML separators are a totally separate issue that's been nagging for quite a while.
It would be nice if even a preset number of characters displayed in the field list for them (preferably styled) instead of just seeing --html--.
It's hard to tell which header needs modification or which one we're dragging without looking into each one, because they all just indicate --html-- in the field list instead of displaying the actual contents as they do for header bars etc.
Sorry for the confusion,
Jerry Kornbluth
Take advantage of a free 3 month trial subscription, only for CMSB users, at: http://www.thecmsbcookbook.com/trial.php
By Dave - October 24, 2016
Hi Jerry,
Ok, got it. Try this quick fix:
In /lib/menus/database/editTable_functions.php
And replace this block:
if (@$field['type'] == 'separator') {
if ( @$field['separatorHeader']) { echo "<div class='text-center' style='line-height: 200%'><b>--- {$field['separatorHeader']} ---</b></div>\n"; }
else { echo "<div class='text-center'>--- {$field['separatorType']} ---</div>"; }
}
With this block:
if (@$field['type'] == 'separator') {
$htmlAsText = htmlencode(mb_strimwidth(strip_tags($field['separatorHTML']), 0, 50, "..."));
if ($field['separatorType'] == 'header bar') { echo "<div class='text-center' style='line-height: 200%'><b>--- {$field['separatorHeader']} ---</b></div>\n"; }
elseif ($field['separatorType'] == 'html') { echo "<div class='text-center' style='line-height: 200%'><b>--- $htmlAsText ---</b></div>\n"; }
else { echo "<div class='text-center'>--- {$field['separatorType']} ---</div>"; }
}
That will display up to 50 characters of the "text" from the -- html -- fields. We'll include that in the next release and also enable the "Field Label" field so you can manually specify a field label to be displayed in the field editor as well if desired.
Hope that helps!
interactivetools.com