Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

[Решено] Создание новой функции в админке


Recommended Posts

Доброго дня. Собственно навеяла необходимость слегка расширить функционал админки, а именно добавить функцию вывода товарного чека, который очень схож со счетом. Но поскольку нужны оба, то я понял что нужна другая функция.

 

Сперва я сделал это с помощью VQMOD и вроде бы работало, но файл мода стал очень большим, и я решил его перевести в отдельную работающкю функцию.

 

Ну и собственно как я сделал:

1. Создал файл /admin/controller/sale/blank.php. Туда внес две функции: index() и tovarnyicheck() - вторую функцию получил путем переименования и копирования функции invoice() из файла order.php, из того же каталога. Ссылки на модели оставил те же, так как моя функция просто выводит тоже самое, только немного в другом виде и с другими словами.

2. Через vqmod_blank.xml вношу поправки в language файлы. Там же функции определения ссылок. Он же добавляет кнопки в админки. Эти функции оставил пока в контроллер не переносил

3. Создал файл admin/view/template/sale/order_tovarnyicheck.tpl (опять же путем копирования и небольшой правки order_invoice.tpl)

 

Но при нажатии кнопки "товарный чек" мне выводит, что страница не найдена. В разделе Группы пользователей наличие галочек проверено - стоят везде.

До этого содержимое файла blank.php тоже  вносилось через VQMOD и работало.

 

Подскажите, что где не так? 

blank.php

vqmod_blank.xml

order_tovarnyicheck.tpl.php

Надіслати
Поділитися на інших сайтах

А может проще было продублировать и изменить только файл шаблона и ВКУмодом вывести кнопку... Просто не понял для чего контроллеры менять, ведь используются теже самые, что и в стандартном счете... 

 

Да и языковые файлы можно не менять - просто заменить переменные в шаблоне на нужные слова.

 

PS Я не программист и поэтому могу ошибаться по-незнанке.

Надіслати
Поділитися на інших сайтах


Хочу сделать отдельно, что бы это стало действительно дополнительной функцией, а не нарезкой кода. Я сам особо не тоже не программист, но навыки оставшиеся после BASIC-а с 90-х годов помогают хотя бы понять логику кода, и что откуда берется.

 

Там контроллер создается дополнительный + ещё нюанс с врезкой их в функционал. Это в ВКУмоде видно. Причем без этих вставок не работает. Поскольку там идет передача содержимого в ссылку, а потом уже в tpl-файл.

 

А языковые вставки я там добавляю свои.

 

Скажу для чего я это делаю. Когда в ВКУмоде у меня это было - вроде все хорошо. НО! Если я не пользуюсь данной функцией скажем день, кэш почищен - при нажатии на кнопку "товарного чека" - я наблюдаю только тьму строк с ошибками. Спустя 5 секунд, обновив страницу, я уже получаю нормальный результат. Я так понимаю, что это дело исключительно ВКУмода, хотя возможно, что я неправильно заводил функции в файлы. Но ничего нового я не изобрел, а только добавил пару аналогичных строк и подправил файл инвойса.

Надіслати
Поділитися на інших сайтах

А первоначальный большой ВКмод, который работал остался? Можешь его выложить? Я имеющиеся файлы подправил под 1.5.4.1 и получаю тотже самый результат с ненайденной страницей.... 

  • +1 1
Надіслати
Поділитися на інших сайтах


1. blank.php

class ControllerSaleOrderBlank extends Controller {...
class ControllerSaleBlank extends Controller {...
/* {admin/}Controller/Folder/File */
2. xml

$this->url->link('sale/order/tovarnyicheck'...
$this->url->link('sale/blank/tovarnyicheck'...
/* folder/file/function */
  • +1 2
Надіслати
Поділитися на інших сайтах

Супер!!! Спасибо! Я так понимаю это типовая ошибка невкуривших в MVC?

 

А такой ещё вопрос. Можно ли как-нибудь содержимое одного tpl-файла подключить в соседний tpl файл? Что-то интернет вообще молчком об этом.

 

 

 

Спасибо за помощь и участие +1

Надіслати
Поділитися на інших сайтах

Итак. Вроде бы сделал.

Но возник вопрос в следующем. 

 

Если я хочу вывести на печать сразу несколько счетов, то ставлю "птички", жму "счет" и получаю их все данные.

А вот если выбираю мой "товарный чек", он выводит данные по первому клиенту в количестве поставленных галочек. Как поправить этот недочёт?

Надіслати
Поділитися на інших сайтах

С этим разобрался, функцию $order не учел.

 

Может кто подскажет, как сделать, что бы новый "товарный чек" был на новой странице?

Надіслати
Поділитися на інших сайтах

С этим разобрался, функцию $order не учел.

 

Может кто подскажет, как сделать, что бы новый "товарный чек" был на новой странице?

 

решил, оказалось всё намного проще.

page-break-after: always;

теперь другой вопрос.

как ограничить вывод повторяющихся элементов (таблиц) на одной странице, к примеру трёх.

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.