OpenCart-Hellas 

Η Ελληνική κοινότητα υποστήριξης του Opencart

Θέματα που αφορούν τη γενικότερη λειτουργία του Opencart.
#6257
Καλησπέρα.

Θέλω να εμφανίσω στη σελίδα του είδους, κάποια πρόσθετα πεδία.
Πιθανόν σε ξεχωριστό Tab αν και μάλλον δεν έχει σημασία.
π.χ. Θέλω να εμφανίσω το πεδίο custom_field_1 που βρίσκεται στον πίνακα oc_product_description

Στη υποστήριξη με παραπέμπουν στο https://docs.journal-theme.com/docs/modules/blocks/
Κώδικας: Επιλογή όλων
Dynamic Blocks
You can use Dynamic option to execute a controller file in order to generate dynamic content in Blocks module. To do that, you must first create a controller file and then specify its path in admin.

Theme comes with an example, you can find it in catalog/controller/journal3/blocks_example.php

<?php

use Journal3\Opencart\Controller;

class ControllerJournal3BlocksExample extends Controller {

	public function index($args) {
		return 'Dynamic Content for module_id = ' . $args['module_id'];
	}

}
To use that controller in a Blocks module, enter journal3/blocks_example in Controller Path. See example

We use standard Opencart MVC-L architecture, you can find more information about this in Opencart documentation.
Developer δεν είμαι για να μπορέσω να βγάλω άκρη.
Όποια βοήθεια ευπρόσδεκτη.

Ευχαριστώ εκ' των προτέρων,

/Sakis
#6258
Καλημέρα, είναι σχετικά απλό, αλλά προϋποθέτει να έχεις κάποια εξοικείωση με MVC,

Δες αυτό το παράδειγμα για να πάρεις μία ιδέα πως θα μπορούσες να περάσεις στο δυναμικό Block του παραδείγματος όλα τα δεδομένα του προϊόντος:

Αρχικά φτιάξε ένα δυναμικό Block όπως εξηγεί το documentation για το αρχείο του παραδείγματος journal3/blocks_example και ανάθεσε το στο layout της σελίδας του προϊόντος.

Τροποποίησε το controller του Block του παραδείγματος στο catalog/controller/journal3/blocks_example.php προσθέτοντας τα ακόλουθα:
Κώδικας: Επιλογή όλων
<?php
use Journal3\Opencart\Controller;

class ControllerJournal3BlocksExample extends Controller {

  public function index($args) {
   // Ελέγχει αν είναι σελίδα προϊόντος
    if ($this->request->get['route'] == 'product/product' && !empty($this->request->get['product_id'])) {

      // Φορτώνει το model του προϊόντος - Θα μπορούσες να φορτώσεις άλλο model με δικό σου SQL query
      $this->load->model('catalog/product');

     // Λαμβάνει τα δεδομένα του προϊόντος με το ID του προϊόντος
      $product_data = $this->model_catalog_product->getProduct($this->request->get['product_id']);
      
     // Περνάει  τα δεδομένα σε ένα πρόχειρο table για το παράδειγμα μας
      $html = '<table border=1>';
      foreach ($product_data as $product_key => $product_value) {
        $html .= '<tr><td>' . $product_key . '</td><td>' . $product_value . '</td></tr>' . PHP_EOL;
      }
      $html .= '</table>';

      // Επιστρέφει τα δεδομένα
      return $html;
    }
  }
}
Τώρα, για να περάσεις στον controller τις στήλες της βάσης που δεν είναι native στο OpenCart, θα πρέπει είτε τροποποιήσεις τις native μεθόδους στο model του προϊόντος, είτε να φτιάξεις δικό σου model με SQL queries που να τραβάνε από τη βάση ότι χρειάζεσαι.

Σας ευχαριστώ πολύ για την απάντηση, σκεφτείτε η ε[…]

Έλεγξε αν έχεις πολύ μεγάλα αρχεία εικόνων και αν […]

Κάνε ένα restart τον σερβερ. (βασικα την λειτουργι[…]

Vqmod and SEARCH NOT FOUND

Καλησπέρα, έχω ένα xml που βγάζει αυτό το λάθος […]

Πριν ζητήσετε βοήθεια στο φόρουμ, παρακαλούμε ελέγξτε αν υπάρχει έτοιμη λύση στο OpenCart Extension Marketplace!