我希望在Joomla 1.5.22中爲虛擬機1.1.8提供一個功能,允許發送PDF發票給已確認購買的客戶。我已經嘗試了各種插件,不按我想要的方式工作。因此我自己編寫它。如何使Joomla VirtueMart的發票打印視圖公開顯示?
爲了減少依賴性,我選擇使用pdfcrowd.com來執行html轉換爲pdf的操作,正如一些stackoverflowers在這裏推薦的。但是,我現在面臨的一個問題是,要轉換的頁面必須公開可查看,以便pdfcrowd查看輸出,否則pdf文件將以管理員登錄頁面結束。我一直在搜索,但沒有得到任何附近,也許我使用了錯誤的搜索條件。
我也嘗試製作一個獨立的PHP頁面來顯示公共發票,但它太麻煩了,設置一切,使它的工作原理沒有戳到Joomla的內部。
,我試圖重現的頁面是
administrator/index.php?page=order.order_printdetails&order_id=######&no_menu=1&pop=1&tmpl=component&option=com_virtuemart
這是/administrator/components/com_virtuemart/html/order.order_printdetails.php
順便說一句,我將實現發票視圖頁面一次性權檢查,所以它只能在短時間內用於轉換。如果需要,轉換後的發票將被存儲並在以後重新使用。
請指教。謝謝。
編輯:感謝LAS_VEGAS指向cURL。他的代碼適用於公共頁面。要訪問登錄頁面,我只需要添加代碼來傳遞cookie。
<?php
// no direct access
defined('_JEXEC') or die;
//Store cookie in format compatible with cURL
$cookie = "";
foreach($_COOKIE as $key => $value) {
$cookie .= $key . "=" . $value . "; ";
}
$ch = curl_init();
$fp = fopen("example_page.html", "w");
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/administrator/index.php?page=order.order_printdetails&order_id=######&no_menu=1&pop=1&tmpl=component&option=com_virtuemart");
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($fp);
?>
謝謝,但它也保存了登錄頁面,因爲需要登錄。我認爲需要發送遠程用戶的cookie或認證才能使其工作 – faulty
它不應該是這樣的,你是怎麼稱呼這個代碼的? – Caner
正是你給我的。儘管我找到了解決方案。我將編輯並放在問題 – faulty