HTML Logo by World Wide Web Consortium (www.w3.org). Click to learn more about our commitment to accessibility and standards.

Moving forward with Composr

ocPortal has been relaunched as Composr CMS, which is now in beta. ocPortal 9 will be superseded by Composr 10.

Head over to compo.sr for our new site, and to our migration roadmap. Existing ocPortal member accounts have been mirrored.


Mixing HTML and PHP in a minblock

Login / Search

 [ Join | More ]
 Add topic 
Posted
Rating:
#101623 (In Topic #19936)
Avatar

Community saint

Hi,

All my previous programming instincts are telling me that I should not do this, i.e. separate presentation from programming constructs - my background is real time embedded stuff in power systems and we always kept them separate.

So would it be acceptable to fill a variable with HTML code as the PHP executes and then perform a single echo at the end to output it back to the comcode page with the mini block on it ?


I did some digging around how other miniblocks have been written and they tend to create a new ocp_tempcode() object and then use methods like attach and evaluate_echo to create the presentation html (or possibly tempcode). the do_template parameters look strange and hard to work out particularly the _GUID code - is there a tutorial that explains how this all fits together ?

I know that I could be "dirty" and mix html and php but o would like to learn more about OCP and try and be as disciplined and "clean" as possible.

I look forward to hearing your thoughts.

Cheers
Ade
Back to the top
 
Posted
Rating:
#101624
Avatar

Templates are actually pretty trivial. _GUID is just another parameter. We automatically generate them via a script, before we make a major release. It's so different calls to the same template can be distinguished.

So do_template just calls a named template with a load of parameters.

Mini-block:

Code

$example=do_template('EXAMPLE',array('FOO'=>'bar');
$example->evaluate_echo();

EXAMPLE.tpl:

Code

{FOO}


Become a fan of ocPortal on Facebook or add me as a friend. Add me on on Twitter.
Was I helpful?
  • If not, please let us know how we can do better (please try and propose any bigger ideas in such a way that they are fundable and scalable).
  • If so, please let others know about ocPortal whenever you see the opportunity.
  • If my reply is too Vulcan or expressed too much in business-strategy terms, and not particularly personal, I apologise. As a company & project maintainer, time is very limited to me, so usually when I write a reply I try and make it generic advice to all readers. I'm also naturally a joined-up thinker, so I always express my thoughts in combined business and technical terms. I recognise not everyone likes that, don't let my Vulcan-thinking stop you enjoying ocPortal on fun personal projects.
  • If my response can inspire a community tutorial, that's a great way of giving back to the project as a user.
Back to the top
 
1 guests and 0 members have just viewed this: None
Control functions:

Quick reply   Contract

Your name:
Your message: