CMS

Nos enfocaremos en los CMS más populares programados en PHP, como Joomla, Wordpress, Drupal y Prestashop, que utilizan HTML, CSS, JavaScript y PHP con alguna otras bibliotecas.
Si buscas un programador de cms te puedo ayudar esta entrada.
El archivador de multimedia de virtuemart
La opción de virtuemart para gestionar las imagenes de la tienda online le llama : "Archivo de medios"
En está seccion del administrador de virtuemart podrás encontrar todas las imagenes que hayamos subido a la tienda on line (productos, fabricantes, ...)
Hoy nos encontramos con el problema (error en virtuemart) que uno de nuestros clientes nos comenta que en su tienda creada con virtuemart version 3.0.6 no puede imprimir pedido desde back-end de su tienda, saliendo el siguiente error
Hay que tener en cuenta que que este error a la hora imprimir pedido ( icono imprimir) solo sucede a la hora de intentar imprimir un pedido cuando hay alguien logueado en la parte front-end.
Por lo que consideramos que es un error de la version que utilizamos, por falta de tiempo y presupuesto vamos a esperar que las nuevas versiones lo solucionen.
Cuando montamos una tienda, inicialmente siempre lo enfocamos a uno o varios países, por ello revisamos esos países y vemos la organización territorial de cada país en los que va vender nuestra tienda online.
Normalmente pensamos que virtuemart ya no facilita esa organización, los estados o provincias... de cada país, pero no siempre es así.
El motivos, es que es algo muy particular de cada país, por lo que hay alguno metidos, pero eso no implica que estén bien o que no falte algunos.
En principio hablamos para una tienda ONLINE está creada con virtuemart version 3.0.6 o 3.0.8 , que son las que en esto momentos tenemos instaladas y gestionamos el mantenimiento web.
En estas versiones encontramos varios países que no tienen los estados:
Portugal, Francia, Belgica, Noruega ....
Incluso encuentro otros, como Reino Unido aunque se considerá un país es el conjunto de varios, que tambien son considerado países ( Inglaterra, Escocia, Gales ... ) , por ello es algo particular de cada uno el organizar estado y provincias de alguna manera.
Nosotros pretendemos organizar y tener una forma sencilla estos estado para poder añadirlos a las tiendas online que no necesiten, estándo siempre adaptadas a nuestros clientes y sus necesidades , pero quiere decir que sea lo correcto.
Creamos un repositorio en GITHUB con la tabla de los países con sus estados , distritos o provincias que les falta.
ANTES DE AÑADIR LOS REGISTROS A LA TABLA VIRTUEMART STATES
Hay par de puntos que debemos hacer y comprobar antes de añadir los estado que os facilitamos en el repositorio Git.
CAMBIAR PREFIJO POR EL DE NUESTRA INSTALACIÓN.
Para realizar esto, simplemente abrimos el fichero prefijo_virtuemart_states.sql
con un editor texto plano que utilicemos.
Buscamos las lineas:
CREATE TABLE IF NOT EXISTS `prefijo_virtuemart_states` (
INSERT INTO `prefijo_virtuemart_states` (
y sustituimos prefijo por el de nuestra instalación.
COMPROBAR LOS ID DE LOS PAÍSES QUE VAMOS AÑADIENDO.
El fichero que os facilito, añade los estado de los siguiente países:
- Portugal
...
Por ello debemos revisar si el ID de ese país es el mismo del que le ponemos nosotros en el fichero, deberái de ser, pero nunca se sabe.
ID DE PORTUGAL: 171
<CAPA SISTEMA>
Os comento que de momento no probamos a añadir esos campo automaticamente, pero lo haremos y ya continuaremos con con este post.
<CAPA SISTEMA>
CREAR ESTADO / PROVINCIAS DE OTROS PAISES A MANO
Desde la parte administrativa de nuestra web, podemos crear a mano los estados de países, es relativamente fácil.
Pero nos encontramos un par de quebraderos de cabeza con dos campos que virtuemart no obliga meter.
codigo estado(2) -> Normalmente son letras
codigo estado(3)-> Normalmente son Numeros...
No se muy bien que es lo que pretende virtuemart con esos codigo, y que poner.
¡¡ Mandame el listado y os preparo un instrucción SQL para añadirlo automáticamente. !!
La modificación y la maquetación de los pdf que generamos en los pedidos, albaranes y facturas de Vituemart, son bastante complejos y no es una tarea fácil.
Aunque el componente virtuemart nos ofrece en el menù >>Tienda una forma bastante interactiva de modificar los pdf que genera, aunque con bastantes limitaciones.
Un modulo nativo de los más utilizados por nosotros, por la facilidad que nos permite añadir contenido.
Incluso podemos añadir instrucciones ejecucción de plugin, que nos hacer que este modulo sea mucho más vestatil.
Nosotros no somo partidarios de instalar muchos modulos de terceros, somos más partidarios de reutilizar modulos nativos, incluso copiarlos para añadirles más caracteristicas.
Normalmente es muy fácil poder duplicar un modulo, pero en este caso el mod_custom nos trajo alguna complicación.
Por ello analizamos a fondo el funcionamiento interno de este modulo, el uso a nivel de usuario hay ya mucha información en la red.
[PENDIENTE]CARGAR LINK DE AYUDA MODULOS PERSONALIZADOS.
CÓDIGO DEL MODULO COSTUM
Realmente este modulo no tiene mucho que explicar.
Tiene los siguiente fichero y carpetas:
- mod_custom.php
- mod_custom.xml
- DIRECTORIO: tmpl
El directorio tmpl, es donde podemos encontrar la vista por default, que podemos realizar overwrite para nuestra plantilla.
Lo más curioso y lo que nos hace que no podemos copiar el modulo y cambiarle el nombre y poder modificar el funcionamiento de este, es que este modulo en la parte administrativa carga una seccion llamada "Salida Personalizada" y no esta indicada en los fichero del código del modulo.
Esto es debido que la extension "Gestor de modulo" tal como conocemos en la parte administrativa , es un componente de la parte administrativa ( com_module), y es esté componente el que añade la sección del modulo custom ( "Salida Personalizada" ) por lo que si queremos que la añada en otro modulo tendriamos que cambiar el código del "Gestor de modulos" ,algo por lo que nosotros no estamos de acuerdo ,ya pertenece para nosotros al nucleo del Joomla.
Ficheros de com_module donde realiza la carga sección "Salida Personalizada"
com_module/views/module/edit.php
$hasContent = empty($this->item->module) || $this->item->module == 'custom' || $this->item->module == 'mod_custom';
/* Lineas adelante pone el siguiente código donde inserta la secciónd de "Salida Personaliza "*/
<?php if ($hasContent) : ?>
<div class="col main-section">
<fieldset class="adminform">
<legend><?php echo JText::_('COM_MODULES_CUSTOM_OUTPUT'); ?></legend>
<ul class="adminformlist">
<li><?php echo $this->form->getLabel('content'); ?>
<div class="clr"></div>
<?php echo $this->form->getInput('content'); ?></li>
</ul>
</fieldset>
</div>
<?php endif; ?>
Con esto nos obliga buscar otra solución para cuando queramos cambiar el funcionamiento o el uso del mod_custom
BUSQUEDA DE MODULOS EXTERNOS SIMILARES.
Antes ponernos a idear soluciones para lo que pretendemos hacer, nos ponemos a buscar otro modulos que sean similares.
Modulo Custom Advanzado: Este modulo simplemente utiliza la creación de campos texto, lo descarto ...
Ad Single Article: Este modulo es muy simple, lo que hace es añadir el contenido de un articulo dentro del modulo, por lo que podemos ponerlo en las posición que le indiquemos.( Muy util)...
En Joomla 2.5 y 3+ tiene una funcionalidad para ocultar los email.
Esto es recomendable, por eso debe ser que ahora las ultimas instalaciones que realice de Joomla 3.4.1 me está surgiendo algunos problemas cuando el contenido tiene un email, ya que este genera un javascript para poder ocultar los email, pero me está dando problemas con otro componentes o modulos que tiene javascript.
Por ello , yo desactivo el plugin : Contenido - Enmascarar correo ( emailcloak ) que trae joomla activa por defecto mientras no encuentre otra solución.
De todos modos si quieres utilizar la funcion de joomla en tus modulos o componentes en este link puedes encontrar más información.
SOBI PRO si queremos actualiza versiones inferiores 1.0.8 a 1.1 no podemos, necesitamos tener instalada primero la versión 1.0.8 y luego realizar la instalación 1.1. x.
Hasta ahora las pruebas realizadas fuero todas un desastre, lo que está claro que si quieres conseguir la versión 1.0.8 tiene que pagar a sus creadores, ya que en su web no permite la descarga.
Aunque no es mucho, ya que puede subcríbirte por 40 euros, como esto es para una web de un cliente de momento lo descartamos, hasta que este nos lo confirme.
BUSQUEDA DE SOBI VERSION 1.0.8
Encontramos el siguiente link:
http://code.openhub.net/project?pid=LtlFqA9eV-4&cid=w8j_HxGRgxI&fp=281592&mp=&projSelected=true
Pero vemos que no hay forma descargar el paquete completo. Se lo comentamos a nuestro técnico de sistemas, pero este tampo fue capaz de buscar ninguna manera de poder descargarlo.
No remite otro link:
https://svn.suski.eu/SobiPro/Component/trunk
El cual por la pinta pertenece a los creadores de SOBI PRO, por lo que tampo se puede descargar.
Así que no queda otra que pagar o perder todas las entradas que tengas en ese componente y instalar desde cero.
" Se me ocurre utilizar un componente que hay por ahí para añadir entradas a sobipro automaticamente"
YA OS DIRE COMO ME FUE.
Estuve buscando si la encontraba y lo único que encontre es este repositorio svn pero pide contraseña.. ;-) -Guillermo.
Utilizando el componente que trae por defecto ( COMPONENTE NATIVO ) Joomla de leer RSS , podemos crear un link donde podamos mostrar los videos de un canal de youtube:
https://www.youtube.com/feeds/videos.xml?channel_id=XXXXXXXXXXXXXXXXXXXXXXX
Donde solo tenemos que sustituir XXXXXXXXXXXXXXXXXXXXXXX por el id del usuario del canal de you tube.
- Olalla
- Joomla
if(!defined('DS')){
define('DS',DIRECTORY_SEPARATOR);
}
Controller class change from JController to JControllerLegacy
//$controller = JController::getInstance('HelloWorld');
$controller = JControllerLegacy::getInstance('HelloWorld');
Model class change from JModel to JModelLegacy
class HelloWorldModelHelloWorld extends JModelItemLegacy
View Class Change from JView to JViewLegacy
//class HelloWorldViewHelloWorlds extends JView class
HelloWorldViewHelloWorlds extends JViewLegacy
class HelloWorldController extends JControllerLegacy
class HelloWorldModelUpdHelloWorld extends JModelFormLegacy
JRegistry::getValue() now is JRegistry::get()
//Convert sample to JRegistry with LoadJSON - Sample from Joomla 3.0 sourcecode
// $params = new JRegistry;
// $params->loadJSON($this->item->params);
// $this->item->params = $params;
$params = new JRegistry;
$params->loadString($item->params);
$item->params = $params;
Database function changes -
nameQuote(joomla 2.5) - quoteName(joomla 3.0)
link: https://ramnihor.wordpress.com/2012/10/03/migrate-joomla-extension-from-2-5-to-3-0/
Lee más…