Was ich versuche zu tun ist, den Benutzernamen von der Website in WHMCS zu injizieren. Die Website ist NICHT in WHMCS integriert. WHMCS ist in einem Unterverzeichnis meiner Website installiert.Wie kann man externe PHP-Variablen außerhalb von WHMCS in whmcs einbeziehen?
Die Website Verzeichnisstruktur sieht wie folgt aus:
mywebsite.com
whmcs_directory
mywebsite.com eine Website mit Mitgliedern ist. Es ist nicht Wordpress, es ist eine benutzerdefinierte PHP-Site.
Das Verzeichnis whmcs wird als Unterverzeichnis meiner Website (in einem Ordner im Stammverzeichnis der Website) installiert.
Ich erstellte ein benutzerdefiniertes Feld in WHMCS namens "Benutzername".
Dann schrieb ich Javascript zu injizieren und füllen Sie das Feld Benutzername. Ich habe das Teil gut funktioniert in viewcart.php
. Was ich damit meine „funktioniert gut“, ist, dass ich einen Wert wie „myvalue“ definieren kann manuell und schließen es mit Hilfe von Javascript:
<script>
$('document').ready(function() {
$('#customfield1').val('myvalue')
})
</script>
ich in viewcart.php, dass Javascript enthalten. Es injiziert myvalue
in das Eingabefeld. Allerdings kann ich dort kein echtes PHP einbringen, und offensichtlich ist jeder Benutzername nicht "mein Wert". Ich muss eine dynamische php-Variable von außerhalb holen whmcs.
============================================== ============
Jetzt konnte ich meinen eigenen Code mit einer rohen PHP-Datei test.php
gerade gut erhalten. Ich könnte den Benutzernamen leicht von der Site in ein Eingabefeld in einer rohen PHP-Datei einfügen.
Ich tat es, indem ich einfach die Kopfzeile, den "get user id" Code unten, ein paar kurze php schreibe, um es aufzurufen, und dann über Javascript in das Eingabefeld injizieren. Super einfach.
<?php
//get the header
require_once('theheader.php');
// get the user id
$theuser = GetTheUser::loadUser($Auth->id);
// make variable and stuff
$username = $theuser->username;
echo isset($username) ? validation::safeOutputToScreen($username) : '';
?>
<!-- convert to js variable -->
var username = <?php echo json_encode($username); ?>;
<!-- inject username into username input -->
<script>
$('document').ready(function() {
$('#inputfield1').val(username)
})
</script>
, die in meiner rohen PHP-Seite arbeitet test.php
und die in Benutzern in meiner Haupt-Website in das Eingabefeld in test.php
Seite angemeldet einspritzt.
Allerdings, wenn ich versuchen, den GetTheUser
Code enthalten (eingewickelt in Smarty {php}{/php}
) in viewcart.tpl
leider führt es in einer PHP-Fehler, Fatal error: Class 'GetTheUser' not found in /home/mysite.com/whmcs/vendor/smarty/smarty/libs/SmartyBC.class.php(464) : eval()'d code on line 2
.
Also ich muss nur irgendwie diesen Benutzernamen und injizieren Sie es in die Warenkorb-Seite in whmcs.
Ich habe versucht, PHP-Code in cart.php
hinzuzufügen, aber es ergibt sich in WMCs mir the file is corrupted
PHP-Fehlerseite zu sagen. Es ist also leider nicht möglich php in die cart.php zu stellen.
Sie mir bitte sagen, wie ich meine außerhalb PHP Variable von mysite.com bekommen können, die meine benutzerdefinierte PHP-Seite ist, und legen Sie in den Warenkorb Seite auf meinem WHMCS mysite.com/whmcs/cart.php