<?phpnamespace App\Controller;use App\Service\CommonService;use App\Service\ToolService;use PhpOffice\PhpSpreadsheet\Document\Properties as DocumentProperties;use PhpOffice\PhpSpreadsheet\Reader\Security\XmlScanner;use PhpOffice\PhpSpreadsheet\Reader\Xls\Style\Border;use PhpOffice\PhpSpreadsheet\Reader\Xlsx as XlsxReader;use PhpOffice\PhpSpreadsheet\Shared\File;use PhpOffice\PhpSpreadsheet\Spreadsheet;use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;use PhpOffice\PhpSpreadsheet\Writer\Xlsx;use PhpOffice\PhpSpreadsheet\Writer\Xlsx as XlsxWriter;use Pimcore\Controller\FrontendController;use Pimcore\Model\Asset;use Pimcore\Model\DataObject;use Pimcore\Model\DataObject\Category;use Pimcore\Model\DataObject\CategoryParam;use Pimcore\Model\DataObject\Product;use Symfony\Component\HttpFoundation\Request;use Symfony\Component\HttpFoundation\Response;use Symfony\Component\Routing\Annotation\Route;class DefaultController extends FrontendController{ /** * 默认页面模板 * @param Request $request * @return Response */ public function defaultAction(Request $request): Response { $dom = $this->document; $data = [ 'title'=>$dom->getProperty('title'), 'css'=>$dom->getProperty('css'), ]; $template = $dom->getTemplate(); return $this->render($template?:'default/default.html.twig', $data); } /** * 测试用 * 打印商品pdf-模板 * @param Request $request * @return Response */ public function printProductAction(Request $request): Response { $dom = $this->document; $id = $request->query->get('pid', $dom->getProperty('pid')); if(!$id) { return new Response('缺少商品id'); } $data = CommonService::getProductInfo($id); if(is_string($data)) { return new Response($data); } $data['title'] = $dom->getProperty('title'); $data['css'] = $dom->getProperty('css'); return $this->render('default/default.html.twig', $data); } /** * 生成报价单-返回文件url * @Route("/getExcel") * @return \Symfony\Component\HttpFoundation\JsonResponse */ public function getQuotationExcelAction(Request $request) { $id = $request->query->get('id'); $qua = DataObject\Quotation::getById($id); $res = CommonService::generateExcel($qua); return $this->redirect($res); } /** * @Route("/test0") * @param Request $request */ public function test0Action(Request $request) { $file = Asset::getByPath('/document/hepar.pptx'); var_dump(PIMCORE_WEB_ROOT.'/var/assets'.$file->getRealFullPath()); return $this->file(PIMCORE_WEB_ROOT.'/var/assets'.$file->getRealFullPath(), '22.pptx'); } /** * @Route("/test1") * @param Request $request */ public function test1Action(Request $request) { echo date('M'); echo '----'; return $this->json(date('M d, Y')); } /** * @Route("/test3") * @param Request $request */ public function test3Action(Request $request) { $product = Product::getById(9); $list = CommonService::getCategoryParamValues($product, false, 'zh'); return $this->json($list); }}