Comments (2)
Plugin pages are bound to the /controller/action/id URL structure. However, there is nothing to stop you including a view in e.g. a short code that you define and use on the homepage.
from wp-mvc.
I know it's bit late, but maybe someone else will look for it.
In public controller (ie. products_controller.php) I created method list()
public function list() {
$this->view_rendered = true;
// Params are shortcode atts
$params = $this->params;
$this->process_params_for_search();
$collection = $this->model->paginate( $params );
$this->set( 'objects', $collection['objects'] );
if ( $params['pagination'] ) {
// Set pagination
$this->pagination = array(
'total' => $collection['total_pages'],
'current' => $collection['page'],
);
unset( $collection['objects'] );
$this->pagination = array_merge( $collection, $this->pagination );
}
$response = $this->render_to_string( 'products/index' );
return $response;
}
And then I create shortcode and use MvcDispatcher
to return rendered shortcode content.
add_shortcode( 'products', products_shortcode' );
function products_shortcode( $atts ) {
$atts = shortcode_atts( array(
'controller' => 'products',
'action' => 'list', // We're pointing to method created above
'page' => get_query_var( 'page', 1 ),
'per_page' => get_option( 'posts_per_page' ),
'pagination' => false,
), $atts, 'products' );
return MvcDispatcher::dispatch( $atts );
}
Hope you find it helpfull
from wp-mvc.
Related Issues (20)
- Ajax example for update tree HOT 1
- How to get only the html present in the view? HOT 1
- Routing not working after upgrade HOT 4
- Could not open input file: ayuco HOT 1
- Feature: Admin nonces
- "After actions" don't run when I use render_view in an action of a controller HOT 9
- This is creating an error, probably use this instead? $html .= $this->select_tag('data['.$this->model_name.']['.$field_name.']', $options); HOT 1
- Error establishing a database connection HOT 1
- Bug with nested conditions in model->find() HOT 2
- Question: Connect WC_Product with a model HOT 3
- As a Composer library HOT 2
- Add language to url HOT 1
- Routes not reloading? HOT 2
- This plugin has been closed as of April 2, 2020 and is not available for download. Reason: Security Issue. HOT 4
- Updating model gives unknown column__model_name
- Feature: Email helper HOT 2
- Load Model MvcUser HOT 3
- How to manage wpml
- Combine Core and App into one Plugin HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from wp-mvc.