A veces me he encontrado con que ha habido que corregir a mano la url o el nombre de la imagen de algún producto en una base de datos de Magento. Cuando esto pasa, hemos de saber que hay que trabajar con 2 tablas:

catalog_product_entity_varchar

catalog_product_entity_media_gallery

Moodle 3.3 ha traido un nuevo elemento de vista general de curso, muy aplaudido por la comunidad, pero con un pequeño contratiempo, y es que los cursos por páginas están definidos por una constante y no es algo que pueda configurarse.

Si necesitamos modificarlo, tendremos que entrar en el código y modificar la constante COURSES_PER_PAGE de la clase courses_view que está en el archivo courses_view.php que está en la ruta blocks/myoverview/classes/output/courses_view.php

En este caso, tenemos un cliente que quiere que sólo los atributos con valor a “Sí” (o TRUE, o “Verdadero”, como queráis). ¿Cómo lo conseguimos?
Nos iremos al archivo attribute.phtml del paquete del tema que estamos utilizando, cuya ruta es:

/app/design/frontend/nuestro_tema/paquete_usado/template/catalog/product/view/attribute.phtml

Y buscamos este código:
[crayon-5adb5609bf958441037970/]
Y lo reemplazamos por este otro:
[crayon-5adb5609bf96a759842976/]
Obviamente, en el punto del código donde pone ‘No’, podemos poner
[crayon-5adb5609bf970745459747/]

A veces sucede que cuando se instala un plugin en MAgento, o lo desinstalamos, o actualizamos la plataforma de alguna forma, la parte del front se ve perfectamente y funciona todo, pero al intentar entrar en el backend, no podemos acceder al mismo.

Nos ponemos un poco nerviosos, porque aunque no es la pantalla de mantenimiento, no podemos acceder al backend de nuestro comercio electrónico. Si después de hacer lo que te recomiendan en foros y webs, que suele ser “borrar el contenido del directorio de var/cache de Magento”, “borrar el contenido del directorio var/sessions de Magento” y ver que sigue igual, y después de poner el código correspondiente al modo desarrollador:

[crayon-5adb5609c0b75456492311/]

y comprobar que seguimos sin ver nada, ni en los archivos de log propios de Apache ni en los de var/log y var/reports de Magento, y tampoco has conseguido ver qué ocurre al desactivar la compilación, es que ha llegado el momento de utilizar este código, que devolverá qué clase es la que da el error, y por lo tanto, nos dará pistas de qué está ocurriendo (por ejemplo, que no se ha instalado / desintalado el plugin correctamente, o que la instalación ha encontrado algún problema a la hora de volcar todos los archivos de la actualización, y alguno no lo ha hecho, o se ha corrompido algún archivo, etc).

[crayon-5adb5609c0b7c435403460/]

En Esencial Sistemas siempre estamos evaluando soluciones y desarrollos con el fin de darle a nuestros clientes la mejor opción del mercado acorde con sus necesidades. Y debido a ello, hemos empezado a colaborar con Facturascripts, ya que creemos que se trata de la mejor opción actualmente que existe en el mercado del open source para la gestión de facturación y contabilidad de una empresa, y está desarrollado con plantillas responsive, que permiten ver en cualquier dispositivo la información en cada momento. Os recomendamos que visitéis su DEMO para que salgáis de dudas, ya que es totalmente funcional.

Cuando realizamos una web, es conveniente no tener las imágenes en servidores de terceros, sino en nuestros propios servidores, o en un CDN. ¿Cómo descargamos las imágenes de otro servidor?

Podemos hacerlo de varias formas:
[crayon-5adb5609c0d3e286157490/]
O:
[crayon-5adb5609c0d44721202188/]
Y la más eficiente de todas, si tenemos que descargar muchas imágenes, es hacerlo con cURL:
[crayon-5adb5609c0d46105914059/]
 

Cuando, después de una actualización vía código de los productos y/o sus categorías y atributos, necesitamos reindexar de nuevo las tablas implicadas en el proceso, podemos hacer:
[crayon-5adb5609c1969615123313/]
para reindexar todas las tablas, o bien, si sólo necesitamos reindexar un conjunto determinado de tablas, podemos hacer:
[crayon-5adb5609c1970418221254/]
 

En esta ocasión explicaremos cómo montar campos desplegables (o selects, como querais llamarlos) en formularios en Drupal 7.

Hasta la versión 6, había dos soluciones, o programarlos tú, o montar el módulo Hierarchical Select. En la versión 7, este módulo ya no puede utilizarse para esta versión porque los desarrolladores han abandonado indefinidamente el proyecto. Pero no hay problema, porque hay un nuevo módulo, incluso más completo que el anterior: Conditional Fields for Drupal 7.

¿Cómo utilizamos el módulo? Tiene muchas formas de utilizarse, os explico la más sencilla: creais una taxonomía con los elementos del desplegable principal y una taxonomía por cada desplegable hijo que necesitemos. A continuación, bien en la colección de campos, bien en el propio apartado del módulo, definimos la dependencia:fielddependence1

 

Primero elegimos el desplegable secundario y después el principal. A continuación defines qué comportamiento va a tener el conjunto y pulsas sobre Add dependency. Yo defino siempre que el secundario sea visible cuando el principal tenga el valor… y al darle al botón, elijo qué valor debe tener el principal. Es decir, si en el principal tengo una taxonomía “Periódicos, revistas, libros”, y quiero que cuando elija periódicos me muestre un desplegable con la taxonomía “abc, el país, público”, pondría como Dependent la taxonomía que tenga “abc, el país, público”, y el Dependee será “Periódicos, revistas, libros”.

Al darle a Add Dependency, iremos al siguiente apartado:

fielddependence4

 

 

Y aquí elegimos Periódicos del desplegable que nos muestra. Grabamos… y ya tenemos una pareja de selects dependientes.

Instalas un Moodle 2.3.4, importas algunos cursos y los modificas ligeramente, adaptándolos a las nuevas necesidades. Y de repente, al borrar un elemento del curso (etiqueta, chat o cualquier recurso o actividad), nos devuelve el siguiente error:
Detectado un error de codificación, debe ser corregido por un programador: PHP catchable fatal error
Y no nos deja acceder al curso, ni ver nada de él. ¿Cómo lo arreglamos?.
Bueno, está la opción rápida que te saca del apuro: irte a la base de datos de Moodle y localizar la tabla _course. En ella vereis vuestros cursos. Localizais el que os da el error y editais el registro. Sólo tendreis que borrar el contenido del campo sectioncache y lo habreis arreglado.
La opción “para que no de más problemas” es irse al archivo lib/modinfolib.php y sobre la línea 1096, localizar el código


if ((!$this->visible or !$this->available) and
!has_capability('moodle/course:viewhiddenactivities', $modcontext, $userid)) {

$this->uservisible = false;

y sustituirlo por

if ($modcontext != "") {
if ((!$this->visible or !$this->available) and !has_capability('moodle/course:viewhiddenactivities', $modcontext, $userid))
{ $this->uservisible = false; }
}
else
{ $this->uservisible = false; }

 

Llega tu cliente y no quiere que le generes un PDF, sino un archivo DOC para abrirlo cómodamente con su Word o herramienta similar. ¿Cómo se hace eso? Muy fácil, este código os genera un archivo con texto dentro y lo descarga a tu equipo.

<?php
header(“Content-type: application/vnd.ms-word”);
header(“Content-Disposition: attachment;Filename=documento.doc”);

echo “<html>”;
echo “<meta http-equiv=\”Content-Type\” content=\”text/html; charset=Windows-1252\”>”;
echo “<body>”;
echo “<b>Mi primer documento</b><br />”;
echo “Aqu&iacute; va todo el testo que querais, en formato HTML</body>”;
echo “</html>”;
?>

 

** El conjunto de caracteres o charset puede ser también UTF-8, si esa es nuestra codificación en la web, claro