Freestyler

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

Рекомендуемые сообщения

Freestyler    0

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

 

Сперва я сделал это с помощью 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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
unkind    10

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

 

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Freestyler    0

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

 

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

 

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
unkind    10

выложи пожалуйста свой новый tpl файл

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Freestyler    0

Вставил в первое сообщение. Только расширение поправьте.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
unkind    10

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
afwollis    1 097

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 */

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Freestyler    0

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

 

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

 

 

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Freestyler    0

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

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

 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Freestyler    0

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Freestyler    0

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

 

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

 

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

page-break-after: always;

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу