Ciao sono nuovo della comunità da poco mi sto approcciando a magento 2.0 ,e, avrei un problema io vorrei caricare il core di magento 2.0 da file esterno per avere le funzionalità come avveniva nella versione di magento 1.x. In magento 1.x utilizzavo la seguente istruzione:
"require_once('../app/Mage.php');
Mage::app();
"
Vorrei sapere come importare le funzionalità di magento 2.0 per la visualizzazione dei prodotti, degli ordini , del catalogo...
Grazie in anticipo
ciao,
non sono ancora sicuro che sia completo, però puoi provare il seguente dalla root dell'installazione Magento 2:
<?php try { require __DIR__ . '/app/bootstrap.php'; } catch (\Exception $e) { echo $e->getMessage() . PHP_EOL; exit(1); } $bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $_SERVER); /** @var \Magento\Framework\App\Http $app */ $app = $bootstrap->createApplication('Magento\Framework\App\Http'); $bootstrap->run($app); // YOUR CODE HERE $objectManager = $bootstrap->getObjectManager();
Ciao, grazie per l'aiuto, ho provato ad inserire il codice che mi hai passato e funziona, avrei un'altra domanda, io fatto una prova per la visualizzazione dei prodotti che ho in catalogo, però prima che mi visualizzi le varie informazioni mi visualizza l'home page del sito, come se mi reindirizza all' home page del sito, volevo sapere se è possibile inserendo il codice che mi hai passato evitare che venga reindirizzato all'home , ovvero che vengano visualizzati anche i contenuti dell'home.
Grazie in anticipo.
ciao,
non credo di aver compreso, potresti riportare un esempio di codice?
Ciao, scusa per la poca chiarezza, allora io avevo fatto un esempio di visualizzazione di alcune informazioni dei prodotti che ho nel catalogo come ad esempio: Name, Id, Sku.
Il codice che ho utilizzato è il seguente:
error_reporting(E_ALL & ~E_NOTICE );
ini_set('track_errors', 1);
ini_set('display_errors', 1);
try {
//require __DIR__ . '/app/bootstrap.php';
require '../app/bootstrap.php';
} catch (\Exception $e) {
echo $e->getMessage() . PHP_EOL;
exit(1);
}
$bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $_SERVER);
/** @var \Magento\Framework\App\Http $app */
$app = $bootstrap->createApplication('Magento\Framework\App\Http');
$bootstrap->run($app);
// YOUR CODE HERE
$objectManager = $bootstrap->getObjectManager();
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$collezioneProdotti = $objectManager->create('Magento\Catalog\Model\ResourceModel\Product\CollectionFactory');
$collezione = $collezioneProdotti->create()
->addAttributeToSelect('*');
//->addFieldToFilter('sku',$sku);
// or ->load($productId);
foreach ($collezione as $product){
echo 'Name = '.$product->getName().'<br>';
echo 'Id = '.$product->getId().'<br>';
echo 'Sku = '.$product->getSku().'<br>';
}
Quando digito il percorso del file per visualizzare il le informazione dei prodotti, mi visualizza prima il contenuto dell'home page e poi sotto il footer , mi visualizza le informazione dei prodotti, io vorrei sapere come si fa o se è possibile visualizzare solamente le informazioni dei prodotti, senza che venga visualizzato il contenuto dell'home page.
Grazie in anticipo
Ciao, scusa per la poca chiarezza, allora io avevo fatto un esempio di visualizzazione di alcune informazioni dei prodotti che ho nel catalogo come ad esempio: Name, Id
Il codice che ho utilizzato è il seguente:
try {
//require __DIR__ . '/app/bootstrap.php';
require '../app/bootstrap.php';
} catch (\Exception $e) {
echo $e->getMessage() . PHP_EOL;
exit(1);
}
$bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $_SERVER);
$app = $bootstrap->createApplication('Magento\Framework\App\Http');
$bootstrap->run($app);
// YOUR CODE HERE
$objectManager = $bootstrap->getObjectManager();
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$collezioneProdotti = $objectManager->create('Magento\Catalog\Model\ResourceModel\Product\CollectionFactory');
$collezione = $collezioneProdotti->create()
->addAttributeToSelect('*');
//->addFieldToFilter('sku',$sku);
// or ->load($productId);
foreach ($collezione as $product){
echo 'Name = '.$product->getName().'<br>';
echo 'Id = '.$product->getId().'<br>';
echo 'Sku = '.$product->getSku().'<br>';
}
Quando digito il percorso del file per visualizzare il le informazione dei prodotti, mi visualizza prima il contenuto dell'home page e poi sotto il footer , mi visualizza le informazione dei prodotti, io vorrei sapere come si fa o se è possibile visualizzare solamente le informazioni dei prodotti, senza che venga visualizzato il contenuto dell'home page.
Grazie in anticipo
ciao,
il runtime che ti ho mostrato è inteso per essere utilizzato da terminale, per fare dei test a riga di comando e non per visualizzare un contenuto nel browser;
se devi visualizzare contenuto nel browser devi fare un modulo con un controller che risponde ad una rotta specifica; ecco un buon articolo da cui puoi partire:
https://adammoss.co.uk/magentofox/magento-2-basics-part-2-creating-a-frontend-controller/
un saluto
Ciao grazie mille ancora per l'aiuto.
ciao, giusto perché siamo entrati in tema, ecco la versione che non stampa l'output:
<?php try { require __DIR__ . '/app/bootstrap.php'; } catch (\Exception $e) { echo $e->getMessage() . PHP_EOL; exit(1); } $bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $_SERVER); /** @var \Magento\Framework\App\Http $app */ $app = $bootstrap->createApplication('Magento\Framework\App\Http'); $app->launch(); // YOUR CODE HERE
Ciao grazie ancora dell'aiuto sei stato molto gentile.