• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
How to encapsulate view-components?

#1
Hi,

I have two different views, both of them should display different tables. But both tables should be embedded within a common „tableFrame“ that has some JS-functionality.

Usually I would do that with different subTableClasses that extend a superTableClass (classical OOP).

Is there a way to say something like:
<div class=„tableFrame“><?php get_view_part(...)?>
<table> bla ... </table>
</div>

U know what I mean? :-)

Thanks in advance!

jellix
Reply

#2
I'd probably write my own html helper() function.
Practical guide to IgnitedCMS - Book coming soon
Reply

#3
Maybe this will help.
Put this code in both views that should display the table:
PHP Code:
<div class="tableFrame“>
<?php 
$this->load->view('embedded_viewfile');?>
</div> 
Where 'embedded_viewfile' is the name of the view that you want to embed.

You probably need to pass variables (the records) to the embedded view.
If you do that from the controller, you can make these variables global.
Before you load the 'container' views, do this:
PHP Code:
$data['records'] = ... // an array with records from a database table, collected by a query (e.g. in a model)
$this->load->vars($data['records']); 

In the embedded view, the $records array is available for displaying the data.
Reply

#4
Thanks to both of you.
Now I understood the mechanic of loading views within views and the helper-concept is also very important. Just looking at it :-)
Reply


Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2019 MyBB Group.