how to remove p tags from CMENUBODY / Tip and tricks / Forums


  • Actual situation: all bbarea fields have now
    <p></p>
    tags around text (you can manually change it to
    <div> </div>,
    but reductact tags are still there)

    Why is it problem?

    If your markup is for example (problems with W3C validation):

    <h3>{CMENUBODY} </h3> - Error: Element p not allowed as child of element h3 in this context.

    OR
    <p class="featured-desc">{CMENUBODY}</p> - Error: No p element in scope but a p end tag seen.

    So what to do? Override core CMENUBODY shortcode in theme shortcodes.

    1. add add theme_shortcodes class $override variable (before _construct() )

    var $override = true;

    1. add new method:
    function sc_cmenubody($parm='')
    {
        $sc   = e107::getScBatch('page', null, 'cpage');
        $data = $sc->getVars();                
        $text =  e107::getParser()->toHTML(vartrue($data['menu_text'],''), true, 'BODY');  
        $text =  str_replace(array("<!-- bbcode-html-start --><p>","</p><!-- bbcode-html-end -->"), "", $text);
        return $text; 
    }	

    It's done. Just remember that all CMENUBODY is now without
    <p></p>
    tags, so you need to use
    <p>{CMENUBODY}</p>
    anywhere in template

     
Moderator(s): Jimako
Search just forum
Chatbox
You must be logged in to post comments on this site - please either log in from the Login box or from here.


  • Jimako
    Jimako  3 days ago

    LandingZero2 1.0.1 released

  • Jimako
    Jimako  1 week ago

    @rumpel79 Your mail server returned the email as unable to delivery. I will try to send you PM.

  • Jimako
    Jimako  2 months ago

    testing new magic shortcodes, so any weird breadcrumbs are an intention

  • Jimako
    Jimako  3 months ago

    Just playing with google custom search. It's searching this site, e107.org and github with e107 in repository name.

  • Jimako
    Jimako  4 months ago

    If you use any my theme: with version 2.2.0 there are core changes - comments and social icons - if you find problem, just tell me.