How in Block a productcollection of template render?
How in Block
app/code/Name/Name/Block/Rewrite/TopMyMenu.php
a productcollection of template
"vendor/magento/module-catalog-widget/view/frontend/templates/product/widget/content/grid.phtml"
render?
$productCollection = $this->categoryFactory->create()->getCollection()
->addAttributeToSelect('*')
->addAttributeToFilter('is_active', 1)
->setOrder('position', 'ASC')
->addIdFilter($category->getChildren());
$html = $produCtcollection->toHtml(); ?????
magento2 products renderer
add a comment |
How in Block
app/code/Name/Name/Block/Rewrite/TopMyMenu.php
a productcollection of template
"vendor/magento/module-catalog-widget/view/frontend/templates/product/widget/content/grid.phtml"
render?
$productCollection = $this->categoryFactory->create()->getCollection()
->addAttributeToSelect('*')
->addAttributeToFilter('is_active', 1)
->setOrder('position', 'ASC')
->addIdFilter($category->getChildren());
$html = $produCtcollection->toHtml(); ?????
magento2 products renderer
1
A product collection is just data, there is nothing to render. What are you trying to do? Display a product list like in category and search results?
– Fabian Schmengler
Jun 22 '16 at 10:24
Display a product list like in category
– Andrej Wasemiller
Jun 22 '16 at 10:54
add a comment |
How in Block
app/code/Name/Name/Block/Rewrite/TopMyMenu.php
a productcollection of template
"vendor/magento/module-catalog-widget/view/frontend/templates/product/widget/content/grid.phtml"
render?
$productCollection = $this->categoryFactory->create()->getCollection()
->addAttributeToSelect('*')
->addAttributeToFilter('is_active', 1)
->setOrder('position', 'ASC')
->addIdFilter($category->getChildren());
$html = $produCtcollection->toHtml(); ?????
magento2 products renderer
How in Block
app/code/Name/Name/Block/Rewrite/TopMyMenu.php
a productcollection of template
"vendor/magento/module-catalog-widget/view/frontend/templates/product/widget/content/grid.phtml"
render?
$productCollection = $this->categoryFactory->create()->getCollection()
->addAttributeToSelect('*')
->addAttributeToFilter('is_active', 1)
->setOrder('position', 'ASC')
->addIdFilter($category->getChildren());
$html = $produCtcollection->toHtml(); ?????
magento2 products renderer
magento2 products renderer
edited 17 mins ago
Teja Bhagavan Kollepara
2,94841847
2,94841847
asked Jun 22 '16 at 10:15
Andrej WasemillerAndrej Wasemiller
61
61
1
A product collection is just data, there is nothing to render. What are you trying to do? Display a product list like in category and search results?
– Fabian Schmengler
Jun 22 '16 at 10:24
Display a product list like in category
– Andrej Wasemiller
Jun 22 '16 at 10:54
add a comment |
1
A product collection is just data, there is nothing to render. What are you trying to do? Display a product list like in category and search results?
– Fabian Schmengler
Jun 22 '16 at 10:24
Display a product list like in category
– Andrej Wasemiller
Jun 22 '16 at 10:54
1
1
A product collection is just data, there is nothing to render. What are you trying to do? Display a product list like in category and search results?
– Fabian Schmengler
Jun 22 '16 at 10:24
A product collection is just data, there is nothing to render. What are you trying to do? Display a product list like in category and search results?
– Fabian Schmengler
Jun 22 '16 at 10:24
Display a product list like in category
– Andrej Wasemiller
Jun 22 '16 at 10:54
Display a product list like in category
– Andrej Wasemiller
Jun 22 '16 at 10:54
add a comment |
2 Answers
2
active
oldest
votes
toHtml()
return block's html output
Process
vendormagentoframeworkViewElementAbstractBlock.php
public function toHtml()
{
/* dode */
$this->_beforeToHtml();
$html = $this->_toHtml();
$this->_saveCache($html);
/* dode */
return $html;
}
Next this goes to
vendormagentoframeworkViewElementTemplate.php
protected function _toHtml()
{
if (!$this->getTemplate()) {
return '';
}
return $this->fetchView($this->getTemplateFile());
}
Renders block html. and $this->fetchView
function retrieves the block view from file (template).
Assume you know templates are using block functions and blocks extends core classes ( Template.php or AbstractBlock.php not in all cases ).
The data is populating by using toHtml()
Hope this helps.
add a comment |
maybe I asked wrong...
This solution I was looking for:
...
getBlockProductsHtml($productCollection);
...
public function getBlockProductsHtml($collection) {
$html = '';
$html = $this->_layout
->createBlock('MagentoCatalogWidgetBlockProductProductsList')
->setTemplate('Namespace_Module::html/products-grid.phtml')
->setData('product_collection', $collection)
->toHtml();
return $html;
}
or
->setTemplate('Magento_CatalogWidget::product/widget/content/grid.phtml')
thanks to all
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "479"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e) {
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom)) {
StackExchange.using('gps', function() { StackExchange.gps.track('embedded_signup_form.view', { location: 'question_page' }); });
$window.unbind('scroll', onScroll);
}
};
$window.on('scroll', onScroll);
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f122228%2fhow-in-block-a-productcollection-of-template-render%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
toHtml()
return block's html output
Process
vendormagentoframeworkViewElementAbstractBlock.php
public function toHtml()
{
/* dode */
$this->_beforeToHtml();
$html = $this->_toHtml();
$this->_saveCache($html);
/* dode */
return $html;
}
Next this goes to
vendormagentoframeworkViewElementTemplate.php
protected function _toHtml()
{
if (!$this->getTemplate()) {
return '';
}
return $this->fetchView($this->getTemplateFile());
}
Renders block html. and $this->fetchView
function retrieves the block view from file (template).
Assume you know templates are using block functions and blocks extends core classes ( Template.php or AbstractBlock.php not in all cases ).
The data is populating by using toHtml()
Hope this helps.
add a comment |
toHtml()
return block's html output
Process
vendormagentoframeworkViewElementAbstractBlock.php
public function toHtml()
{
/* dode */
$this->_beforeToHtml();
$html = $this->_toHtml();
$this->_saveCache($html);
/* dode */
return $html;
}
Next this goes to
vendormagentoframeworkViewElementTemplate.php
protected function _toHtml()
{
if (!$this->getTemplate()) {
return '';
}
return $this->fetchView($this->getTemplateFile());
}
Renders block html. and $this->fetchView
function retrieves the block view from file (template).
Assume you know templates are using block functions and blocks extends core classes ( Template.php or AbstractBlock.php not in all cases ).
The data is populating by using toHtml()
Hope this helps.
add a comment |
toHtml()
return block's html output
Process
vendormagentoframeworkViewElementAbstractBlock.php
public function toHtml()
{
/* dode */
$this->_beforeToHtml();
$html = $this->_toHtml();
$this->_saveCache($html);
/* dode */
return $html;
}
Next this goes to
vendormagentoframeworkViewElementTemplate.php
protected function _toHtml()
{
if (!$this->getTemplate()) {
return '';
}
return $this->fetchView($this->getTemplateFile());
}
Renders block html. and $this->fetchView
function retrieves the block view from file (template).
Assume you know templates are using block functions and blocks extends core classes ( Template.php or AbstractBlock.php not in all cases ).
The data is populating by using toHtml()
Hope this helps.
toHtml()
return block's html output
Process
vendormagentoframeworkViewElementAbstractBlock.php
public function toHtml()
{
/* dode */
$this->_beforeToHtml();
$html = $this->_toHtml();
$this->_saveCache($html);
/* dode */
return $html;
}
Next this goes to
vendormagentoframeworkViewElementTemplate.php
protected function _toHtml()
{
if (!$this->getTemplate()) {
return '';
}
return $this->fetchView($this->getTemplateFile());
}
Renders block html. and $this->fetchView
function retrieves the block view from file (template).
Assume you know templates are using block functions and blocks extends core classes ( Template.php or AbstractBlock.php not in all cases ).
The data is populating by using toHtml()
Hope this helps.
answered Jun 22 '16 at 11:36
Krishna ijjadaKrishna ijjada
5,69642355
5,69642355
add a comment |
add a comment |
maybe I asked wrong...
This solution I was looking for:
...
getBlockProductsHtml($productCollection);
...
public function getBlockProductsHtml($collection) {
$html = '';
$html = $this->_layout
->createBlock('MagentoCatalogWidgetBlockProductProductsList')
->setTemplate('Namespace_Module::html/products-grid.phtml')
->setData('product_collection', $collection)
->toHtml();
return $html;
}
or
->setTemplate('Magento_CatalogWidget::product/widget/content/grid.phtml')
thanks to all
add a comment |
maybe I asked wrong...
This solution I was looking for:
...
getBlockProductsHtml($productCollection);
...
public function getBlockProductsHtml($collection) {
$html = '';
$html = $this->_layout
->createBlock('MagentoCatalogWidgetBlockProductProductsList')
->setTemplate('Namespace_Module::html/products-grid.phtml')
->setData('product_collection', $collection)
->toHtml();
return $html;
}
or
->setTemplate('Magento_CatalogWidget::product/widget/content/grid.phtml')
thanks to all
add a comment |
maybe I asked wrong...
This solution I was looking for:
...
getBlockProductsHtml($productCollection);
...
public function getBlockProductsHtml($collection) {
$html = '';
$html = $this->_layout
->createBlock('MagentoCatalogWidgetBlockProductProductsList')
->setTemplate('Namespace_Module::html/products-grid.phtml')
->setData('product_collection', $collection)
->toHtml();
return $html;
}
or
->setTemplate('Magento_CatalogWidget::product/widget/content/grid.phtml')
thanks to all
maybe I asked wrong...
This solution I was looking for:
...
getBlockProductsHtml($productCollection);
...
public function getBlockProductsHtml($collection) {
$html = '';
$html = $this->_layout
->createBlock('MagentoCatalogWidgetBlockProductProductsList')
->setTemplate('Namespace_Module::html/products-grid.phtml')
->setData('product_collection', $collection)
->toHtml();
return $html;
}
or
->setTemplate('Magento_CatalogWidget::product/widget/content/grid.phtml')
thanks to all
answered Jun 23 '16 at 12:50
Andrej WasemillerAndrej Wasemiller
61
61
add a comment |
add a comment |
Thanks for contributing an answer to Magento Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e) {
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom)) {
StackExchange.using('gps', function() { StackExchange.gps.track('embedded_signup_form.view', { location: 'question_page' }); });
$window.unbind('scroll', onScroll);
}
};
$window.on('scroll', onScroll);
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f122228%2fhow-in-block-a-productcollection-of-template-render%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e) {
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom)) {
StackExchange.using('gps', function() { StackExchange.gps.track('embedded_signup_form.view', { location: 'question_page' }); });
$window.unbind('scroll', onScroll);
}
};
$window.on('scroll', onScroll);
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e) {
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom)) {
StackExchange.using('gps', function() { StackExchange.gps.track('embedded_signup_form.view', { location: 'question_page' }); });
$window.unbind('scroll', onScroll);
}
};
$window.on('scroll', onScroll);
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e) {
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom)) {
StackExchange.using('gps', function() { StackExchange.gps.track('embedded_signup_form.view', { location: 'question_page' }); });
$window.unbind('scroll', onScroll);
}
};
$window.on('scroll', onScroll);
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
A product collection is just data, there is nothing to render. What are you trying to do? Display a product list like in category and search results?
– Fabian Schmengler
Jun 22 '16 at 10:24
Display a product list like in category
– Andrej Wasemiller
Jun 22 '16 at 10:54