Știu despre CRON și cum să îl creez/să îl gestionez. Dar această problemă era diferită.

admin controller

Vreau să dezvolt un modul pentru a șterge orice comandă (neplătită) care depășește intervalul de timp dat. Ex: Vreau să șterg orice comandă neplătită care nu a fost plătită timp de 2 zile de la plasarea comenzii.

Vreau să folosesc modelul existent în opencart (și să nu folosesc unul nou). Să presupunem că adresa URL a modulului ar fi: http://www.yourstore.com/admin/index.php?route=module/modulename/function Și va fi apelată de la CRON și apoi orice comandă neplătită va dispărea.

Dar principala problemă este: atunci când CRON dorește să acceseze URL-ul respectiv, are nevoie de un simbol de securitate sau nu va fi executat niciodată.

Întrebarea mea este: cum să executați acel modul de la CRON fără jeton de securitate (în cazul doar pentru acel modul)?

Va rog sa ma ajutati, daca aveti o idee mai buna sau un mod mai curat, v-as multumi mult.

Actualizat: Pentru versiunile Opencart admin/index.php la admin/index_for_cron.php

Acum, în admin/index_for_cron.php, căutați aceste 2 linii și comentați-le care sunt responsabile pentru autentificare și permisiuni.

Acum utilizați această adresă URL pentru jobul dvs. cron.

NOTĂ: este foarte recomandat să schimbați numele de index_for_cron.php într-un nume urât și imprevizibil din motive de securitate.

Sper că acest lucru vă ajută:)

Extensii Cron Jobs, De exemplu, puteți seta un anumit script PHP pentru a fi executat automat în fiecare zi la miezul nopții. Configurare în cPenal. Configurați joburile cron prin cPanel folosind acest Cron joburile sunt foarte utile pentru a vă economisi timp rulând automat sarcinile programate - cum ar fi trimiterea de e-mailuri de pre-vânzare a clienților, cum ar fi Coșurile abandonate automat . Au fost adăugate la Opencart 3.1, dar lipsesc pentru versiunile mai vechi, deci am transformat acest lucru într-un modul care poate fi instalat cu ușurință și compatibil înapoi.

Am făcut ceva similar cu IJas. Adiacent administratorului și catalogului, am creat un nou folder numit „cli”.

Acest folder conține un fișier php pentru o anumită funcție care trebuie efectuată de cli (executarea scripturilor prin crontab într-un program stabilit sau manual în linia de comandă), precum și un „bootstrap” de tipuri pentru aceste tipuri de scripturi. Bootstrap-ul este în esență o copie a „indexului” găsit în catalog sau administrator și include unele verificări și elimină verificarea permisiunii și alte elemente inutile. Apelează orice controler/acțiune este stabilit în scriptul funcției specifice apelului (în exemplul de mai jos, apelează metoda indexului clasei definite în /admin/controller/common/cli_some_function.php).

Script specific funcției:

CLI „Bootstrap”/Dispecer:

Folosind această schemă, mă pot asigura că scriptul nu va fi apelat de pe web și îl pot declanșa automat de pe server însuși folosind un job cron (de exemplu: 0 1 0 0 0/path/to/php/path /to/opencart/cli/cli_some_function.php)

Notă că funcția error_handler folosește câteva opțiuni de configurare care nu sunt out-of-the-box. Puteți fie să le configurați, fie să vă puneți propriul cec acolo.

EDITAȚI | × a făcut unele modificări pentru gestionarea erorilor

Cron Jobs, Lucrările Cron sunt foarte utile pentru a vă economisi timp rulând automat sarcinile programate - cum ar fi trimiterea de e-mailuri de pre-vânzare a clienților, cum ar fi Coșurile abandonate automat. Au fost adăugate la Opencart 3.1, dar lipsesc pentru versiunile mai vechi, așa că am transformat acest lucru într-un modul care poate fi ușor instalat și compatibil înapoi. Cron Ce este un cron? Un cron este un serviciu care permite unui utilizator să execute automat un script la un anumit moment. De exemplu, puteți seta un anumit script PHP pentru a fi executat automat în fiecare zi la miezul nopții. Configurare în cPenal. Configurați lucrări cron prin cPanel folosind această procedură: Conectați-vă la interfața dvs. cPanel. Accesați secțiunea „Avansat”.

Deoarece am avut o cerință similară de mai multe ori, mi-am pus ideile într-un instrument ușor de linie de comandă numit OCOK.

Mai ales Comanda Cli Task vă permite să apelați controlere Opencart prin linia de comandă și vă permite să le apelați ca joburi cron. Pur și simplu creați un controler ca acesta și salvați-l ca admin/controller/task/example.php:

Prin linia de comandă poate fi apelat cu parametri:

Comanda menționată mai sus va genera:

Adăugarea la crontab este la fel de ușoară ca adăugarea următoarei linii în fișierul cron:

căile respective trebuie să fie stabilite corect, desigur.

Instalare disponibilă cu compozitor. Toate documentele suplimentare pot fi găsite în documentele: OCOK

job cron administrator - Comunitatea OpenCart, Știu că există o soluție pentru jobul cron în secțiunea de administrare pentru oc 1.5x, dar nu este posibilă în oc 2. Poate cineva să-mi spună cum să implementez jobul cron? Mai ales Comanda Cli Task vă permite să apelați controlere Opencart prin linia de comandă și vă permite să le apelați ca joburi cron. Pur și simplu creați un controler ca acesta și salvați-l ca admin/controller/task/example.php:

Știu că aceasta este o întrebare foarte veche, dar am petrecut destul de mult timp încercând să dau seama cum să fac același lucru în versiunea opencart 2.x care funcționează diferit. Așa că împărtășesc aici soluția mea. (Bazat pe abordarea lui Mike T.)

1 - Creați un folder cli adiacent administratorului și catalogului. 2 - În același folder creați un fișier pe care îl veți rula prin cron sau comandline, de exemplu runcron.php

3 - În același folder, creați fișierul cli_dispatch.php, care este o copie a fișierului index.php din folderul de administrare, cu unele modificări (Rețineți că instalarea este activată VQMOD, ceea ce poate să nu fie cazul dvs.)

4 - Acum creați fișierul upload/system/config/cli.php care va fi cel pe care opencart îl va folosi pentru a citi configurația noului bootrasp cli din file upload/system/framework.php

După cum puteți vedea acolo, am comentat toate liniile de sesiune și acțiuni legate de permisiuni. Va trebui să editați linia

schimbarea „vânzării/scriptului dvs.” cu calea și numele fișierului controlerului dvs.

În exemplu, runnunig fișierul runcron.php va executa funcția index în

Lucrările Cron necesită autentificare administrator · Numărul nr. 6480 · opencart/opencart, Adresa URL a jobului cron afișează datele de conectare ale administratorului - admin/index.php? Route = common/cron Lipsește din primele $ ignorați Cron joburile necesită autentificare admin · Numărul # 6480 · opencart/opencart · GitHub. Adresa URL a jobului cron afișează datele de conectare admin - admin/index.php? Route = common/cron Lipsește din primul $ ignore admin/controller/startup/login.php De asemenea, s-ar putea face cu o anumită formă de securitate pentru a preveni cronul de a fi ușor rulat b

În mod implicit, opencart nu permite accesul la paginile de administrator fără autentificare. Conectarea și validarea simbolurilor sunt verificate în metoda login () în admin/controller/common/home.php .

nu poate fi setat pe frontend coz modelul este în zona de administrare. - Puteți crea un controler și un model nou pentru frontend cu aceeași funcționalitate în panoul de administrare și să îl utilizați pentru cronjob.

Opencart are grupuri de utilizatori care stabilesc drepturile de acces pentru utilizatori. Deci, paginile de administrator nu vor fi încărcate pentru utilizatori fără permisiune. Prin urmare, poate fi necesar să modificați fișierele de bază foarte mult pentru setarea cronjob în panoul de administrare, ceea ce poate duce la probleme grave de securitate.

Vă sugerez un controler frontend și un fișier model pentru cronjob. Pentru securitate suplimentară, puteți trece un anumit parametru cheie în adresa URL și puteți scrie o condiție pentru a o verifica.

O zi plăcută !

Cum se configurează jobul cron pentru OpenCart AbandonedCarts, Ce ar trebui să fac pentru a configura jobul cron? Răspuns: După cum este recomandat oficial de iSenseLabs aici, puteți utiliza EasyCron pentru a declanșa scriptul jobului cron în OpenCartВ În timp ce rulați un cronjob, funcțiile/fișierele opencart implicite nu se încarcă, spre deosebire de funcțiile apelate prin browser. Așa că am copiat codul și interogările SQL care există deja în alte fișiere opencart. Sunt curios să știu dacă există vreo soluție pentru reutilizarea funcțiilor opencart deja existente. • „Sankar V 8 iulie 13 la 10:08

Opencart Admin Cron Jobs, Actualizat: Pentru versiunile Opencart Nitro> Setări> CRON. CRON local. Acesta este modul standard în care veți utiliza joburile B Cron sunt foarte utile pentru a vă economisi timp executând sarcini programate automat - cum ar fi trimiterea de e-mailuri de pre-vânzare a clienților, cum ar fi Coșurile abandonate. Au fost adăugate la Opencart 3.1, dar lipsesc pentru versiunile mai vechi, așa că am creat .

Setări job CRON, Puteți configura o lucrare CRON în panoul de administrare al găzduirii dvs. web. În mod implicit, aceste e-mailuri vor fi trimise către e-mailul de administrator OpenCart, dar puteți configura Cum se instalează și se actualizează Square pentru OpenCart 2.x. Înainte de a începe Vă recomandăm să faceți o copie de rezervă completă a fișierelor și bazei de date OpenCart, pentru orice eventualitate. Instalați utilizând programul de instalare OpenCart Extension. Dezarhivați fișierul descărcat Square .ZIP într-un director nou; Accesați Extensii> Instalator de extensii din administratorul dvs. OpenCart; Faceți clic pe Încărcare.