Hola @joaquines,
El análisis de @miriam_store y @gonzalosevilla es correcto. El código de tu hookDisplayFooter es funcional para asignar variables a Smarty, pero el problema fundamental reside en la ausencia de un método getContent() en tu módulo. Este método es crucial para que PrestaShop genere una página de configuración en el Back Office donde puedas introducir y guardar los valores de tus URLs de redes sociales.
Configuration::get() recupera valores que han sido previamente guardados, generalmente con Configuration::updateValue(). Sin una interfaz administrativa, esos valores no se establecen.
Aquí te muestro una implementación básica del método getContent() que deberías añadir a tu mysociallinks.php para que puedas configurar las URLs desde el Back Office:
// ... (código existente de __construct, install, uninstall, hookDisplayFooter) ...
public function getContent()
{
$output = null;
if (Tools::isSubmit('submit' . $this->name))
{
$facebook_url = strval(Tools::getValue('MY_FACEBOOK_URL'));
$twitter_url = strval(Tools::getValue('MY_TWITTER_URL'));
Configuration::updateValue('MY_FACEBOOK_URL', $facebook_url);
Configuration::updateValue('MY_TWITTER_URL', $twitter_url);
$output .= $this->displayConfirmation($this->l('Settings updated'));
}
return $output . $this->displayForm();
}
public function displayForm()
{
// Define los campos del formulario
$form = [
'form' => [
'legend' => [
'title' => $this->l('Configuración de Enlaces de Redes Sociales'),
],
Una vez que añades getContent() y displayForm(), podrás ir a la página de configuración de tu módulo en el Back Office, introducir las URLs y guardarlas. Entonces, Configuration::get() funcionará correctamente. Es importante tener en cuenta que PrestaShop 1.7.7.2 es un entorno estable, pero para una solución más robusta y fácil de mantener, especialmente si se planea una futura actualización a PrestaShop 8 o 9, es mejor usar un módulo diseñado para esto, que ya tenga toda la lógica de guardado y visualización incorporada y sea compatible con nuevas versiones. Por ejemplo, te recomiendo echar un vistazo a este módulo que ofrece una gestión completa sin necesidad de código personalizado.