OpenCart-Hellas 

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

Θέματα που αφορούν τη γενικότερη λειτουργία του Opencart.
#7427
Καλησπέρα.
Ξεκίνησα ένα module με το οποίο σκοπεύω να αλλάξω τον Image Manager με κάποιες δυνατότητες που θέλω. Βασικά θα κάνω ένα σχεδόν καινούργιο....
ΟΚ, μπορώ να πάω κλασικά με MVC και να κάνω αλλάξω controller, view, model κ.τ.λ. αλλά ψάχνω να βρω έναν τρόπο με το οποίο αν γίνεται να ενεργοποιώ το module και να φωρτώνεται η JS βιβλιοθήκη, CSS απο ξεχωριστό αρχείο. Δηλαδή να μην πειράξω αλλά με κάποιο τρόπο να φωρτώνεται...
Ελπίζω να εξήγησα αυτό που θέλω...
#7428
Καλημέρα,

Αυτό μπορεί να γίνει με τα ακόλουθα που φορτώνουν στο header του view ότι χρειάζεσαι από εξωτερικά αρχεία:
Κώδικας: Επιλογή όλων
$this->document->addScript('some/path/file.js');
$this->document->addStyle('some/path/file.css');
#7430
Καλησπέρα,

Κατ' εμέ μπορεί να γίνει με 2 μεθόδους injection που δεν πειράζεις το αρχείο του header (Δεν είναι λάθος πρακτική να κάνεις inject) ή inline στo view επέκτασης :

α) Inject με addScript / addStyle στον controller του module που τα περνάει στον header.

β) Μπορείς επίσης να κάνεις injection με event:
Δίνεις query
Κώδικας: Επιλογή όλων
INSERT INTO `oc_event` SET `code` = 'my_header_addon', `trigger` = 'admin/controller/common/header/after', `action` = 'common/my_header_addon/event_header_after', `status` = '1', `sort_order` = '0';

Στο path admin/controller/common/ δημιουργείς ένα αρχείο my_header_addon.php με το περιεχόμενο
Κώδικας: Επιλογή όλων
<?php
class ControllerCommonMyHeaderAddon extends Controller {
  public function event_header_after($route, &$args, &$output) {
    if (isset($this->request->get['route']) && $this->request->get['route'] == 'catalog/product/edit') { // Ελέγχεις το route...
      $inject  = '<link href="view/stylesheet/my_header_addon.css" type="text/css" rel="stylesheet" media="screen" />' . PHP_EOL;
      $inject .= '<script type="text/javascript" src="view/javascript/jquery/my_header_addon.js"></script>' . PHP_EOL;
      $output = str_replace('</head>', $inject . '</head>', $output);
    }
  }
}
?>

γ) Εναλλακτικά υπό προϋποθέσεις, μπορείς να περάσεις τα CSS inline scoped και τα javascript στο view του module.
#7431
Ευχαριστώ πολύ για τις απαντήσεις.

Είμαι σε αυτό το στάδιο που θα δείτε στην εικόνα. Αν καταφέρω να το τελειώσω και γίνει όπως το θέλω μπορεί να το βάλω δωρεάν στο opencart market

Εικόνα
Τελευταία επεξεργασία από το μέλος dhmm την 04 Αύγ 2021, 16:31, έχει επεξεργασθεί 1 φορά συνολικά.
#7432
Ωραίο !
#7433
Ευχαριστώ !
Έβαλα pagination και items per page....

Εικόνα
Θα προσπαθήσω να προσθιέσω την δυνατότητα πολλαπλής επιλογής εικόνων και drag&drop upload.

Τι άλλο θα ήταν καλό να μπει ;
#7434
Καλησπέρα
Χρήσιμο θα ήταν δυνατότητα rename του filename με advanced προαιρετική επιλογή να ψάξει και στη βάση όπου υπάρχουν αναθέσεις της εικόνας να κάνει κι εκεί μετονομασίες.

Καλησπέρα. Αναζητώ ένα εμπορικό λογισμικό το οποίο[…]

Καλησπερα, πολυ ωραια θα το ψαξω περαιτερω Ευχαρ[…]

Δεν το έχω χρησιμοποιήσει. Στείλε αν θες ένα ερώτη[…]

Καλημέρα 1. Ο λόγος που σου πρότεινα subdomain εί[…]

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