Post by birmano » Thu Mar 04, 2010 8:58 pm

Hola Me gustaria saber que tengo que hacer para colocar un link a cada uno de los Fabricantes para que
en otra ventana nueva del navegador me habra la web de cada uno de ellos.

También que en la zona de Aministrador salga la opcion para poder poner cada link.

Newbie

Posts

Joined
Thu Mar 04, 2010 7:34 pm

Post by cofran » Fri Mar 05, 2010 12:42 am

hay que modificar el CF pero son pequeños cambios, ahora lo que tendrías que tener definido, es a donde queres poner el link al fabricante... dentro del producto, en el listado de todos los productos que hay una modificación para acá para lograrlo ¿?¿?

Saludos!

User avatar
Active Member

Posts

Joined
Thu Oct 01, 2009 7:37 am
Location - Córdoba, Argentina

Post by birmano » Fri Mar 05, 2010 11:36 am

Ambas opciones me seria de gran utilidad si me puedes informar de cada una de ellas mejor que mejor.

Agradezco tu tiempo y dedicación.

Un saludo y espero tu respuesta.

Newbie

Posts

Joined
Thu Mar 04, 2010 7:34 pm

Post by cofran » Sun Mar 07, 2010 8:17 am

anda a admin\controller\catalog y entra a editar el archivo manufacturer.php

busca la linea:

Code: Select all

$this->data['entry_image'] = $this->language->get('entry_image');
y debajo agrega:

Code: Select all

$this->data['entry_url'] = $this->language->get('entry_url');
Ahora busca donde dice:

Code: Select all

		if (isset($this->request->post['image'])) {
			$this->data['image'] = $this->request->post['image'];
		} elseif (isset($manufacturer_info)) {
			$this->data['image'] = $manufacturer_info['image'];
		} else {
			$this->data['image'] = '';
		}
y debajo pone:

Code: Select all

		if (isset($this->request->post['url'])) {
			$this->data['url'] = $this->request->post['url'];
		} elseif (isset($manufacturer_info)) {
			$this->data['url'] = $manufacturer_info['url'];
		} else {
			$this->data['url'] = '';
		}

Bueno ahí terminamos con ese archivito, ahora tenes que ir al archivo manufacturer.php que están en la ruta admin\language\TU_IDIOMA\catalog y entrar a editarlo.

Busca la linea que dice:

Code: Select all

$_['entry_image']        = 'Imagen:';
y abajo agrega una que diga:

Code: Select all

$_['entry_url']        = 'Url del Fabricante:';

Terminamos con ese también (viene fácil ¿no?)

Ahora tenemos que editar los archivos que hacen las consultas a la base de datos, entonces tenes que abrir para editar el archivo manufacturer.php que esta en la ruta admin\model\catalog

Buscas la linea que dice:

Code: Select all

		$this->db->query("INSERT INTO " . DB_PREFIX . "manufacturer SET name = '" . $this->db->escape($data['name']) . "', sort_order = '" . (int)$data['sort_order'] . "'");
Y la reemplazas por esta:

Code: Select all

$this->db->query("INSERT INTO " . DB_PREFIX . "manufacturer SET name = '" . $this->db->escape($data['name']) . "', url = '" . $this->db->escape($data['url']) . "',sort_order = '" . (int)$data['sort_order'] . "'");
Después buscas la que dice:

Code: Select all

$this->db->query("UPDATE " . DB_PREFIX . "manufacturer SET name = '" . $this->db->escape($data['name']) . "', sort_order = '" . (int)$data['sort_order'] . "' WHERE manufacturer_id = '" . (int)$manufacturer_id . "'");
Y la reemplazas por esta otra:

Code: Select all

$this->db->query("UPDATE " . DB_PREFIX . "manufacturer SET name = '" . $this->db->escape($data['name']) . "', url = '" . $this->db->escape($data['url']) . "', sort_order = '" . (int)$data['sort_order'] . "' WHERE manufacturer_id = '" . (int)$manufacturer_id . "'");
Por ultimo deberás ir al PHPMYADMIN y hacer click en la pestaña de arriba que dice SQL y ejecutar el siguiente comando: ALTER TABLE `manufacturer` ADD `url` VARCHAR( 255 ) NOT NULL AFTER `name`


Ahora por ultimo vamos al archivo manufacturer_form.tpl que esta en la ruta admin\view\template\catalog y entras a editarlo.

Busca la linea que dice:

Code: Select all

        <tr>
          <td><?php echo $entry_keyword; ?></td>
          <td><input type="text" name="keyword" value="<?php echo $keyword; ?>" /></td>
        </tr>
Y debajo agregas esto:

Code: Select all

        <tr>
          <td><?php echo $entry_url; ?></td>
          <td><input type="text" name="url" value="<?php echo $url; ?>" /></td>
        </tr>
Y terminamos también con este archivo, ahora ya desde la administración de OpenCart podes agregar las url a los sitio de los fabricantes.

Ahora vamos a modificar los archivos frontales, los que va a ver el usuario, entonces entramos a editar el archivo product.php que esta en la ruta catalog\controller\product

Buscamos la linea que dice:

Code: Select all

$this->data['manufacturer'] = $product_info['manufacturer'];
Y debajo agregamos esto:

Code: Select all

$this->data['manufacturer_url'] = $product_info['url'];
Ya terminamos con ese archivo, ahora para que la url del fabricante se muestre en la página de cada produco vamos a modificar el archivo product.tpl de la ruta catalog\view\theme\default\template\product

Buscamos la linea que dice:

Code: Select all

              <?php if ($manufacturer) { ?>
              <tr>
                <td><b><?php echo $text_manufacturer; ?></b></td>
                <td><a href="<?php echo $manufacturers; ?>"><?php echo $manufacturer; ?></a></td>
              </tr>
              <?php } ?>
Y la reemplazamos por esta:

Code: Select all

              <?php if ($manufacturer) { ?>
              <tr>
                <td><b><?php echo $text_manufacturer; ?></b></td>
                <td><a href="<?php echo $manufacturers; ?>"><?php echo $manufacturer; ?></a></td>
              </tr>
              <tr>
                <td><b><?php echo $text_manufacturer_url; ?></b></td>
                <td><a href="<?php echo $manufacturer_url; ?>"><?php echo $manufacturer_url; ?></a></td>
              </tr>
              <?php } ?>

Y eso sería todo, esta modificación esta basada en la versión 1.4.0 de OpenCart y funciona, ahora no esta testeada en ninguna otra versión.

BACKUP !! BACKUP !! BACKUP !! BACKUP !! BACKUP !! BACKUP !! BACKUP !! BACKUP !! BACKUP !! BACKUP !! BACKUP !! BACKUP !! BACKUP !! BACKUP !! BACKUP !! BACKUP !! BACKUP !! BACKUP !!

Hagan Backup de todos los archivos antes de modificar, después no me echen la culpa que se rompió todo y eso...

Saludos!!

User avatar
Active Member

Posts

Joined
Thu Oct 01, 2009 7:37 am
Location - Córdoba, Argentina

Post by birmano » Thu Mar 11, 2010 11:42 am

Buenas, fabulosa tu explicación.

Pero no me funciona, algo habre hecho mal.

Te cuento:
He creado en la parte administradora la casilla para las url en fabricante.
En la base de datos en la tabla manufactured también ya tengo la columna para dichos datos.
Pero no me guarda la url en la base de datos desde el formulario de admin.

Creo que debe ser una error en la consulta.

Haber si puedes ayudarme ya que ahora lo tengo a medias.

Newbie

Posts

Joined
Thu Mar 04, 2010 7:34 pm

Post by birmano » Thu Mar 11, 2010 11:55 am

También en la ficha del producto me aparece el siguiente error:

Notice: Undefined variable: text_manufacturer_url in /catalog/view/theme/Plantilla Toni/template/product/product.tpl on line 42

Que es justamente donde esta el codigo insertado.

supongo que sabrás que ha ocurrido.

Espero tu ayuda como mendigo las miajas

Newbie

Posts

Joined
Thu Mar 04, 2010 7:34 pm

Post by cofran » Thu Mar 11, 2010 12:06 pm

mmmm... te da algun error? fijate en el log de errores q esta en la pestana q dice sistema... modifica el nombre del fabricante y fijate si se guarda y por las dudas mira el codigo q modifica el archivo de la carpeta model y si no lo mencione esta modificacion la hice sobre la version 1.4.0 y no tengo idea si anda en otras versiones

saludos!

User avatar
Active Member

Posts

Joined
Thu Oct 01, 2009 7:37 am
Location - Córdoba, Argentina

Post by birmano » Thu Mar 11, 2010 12:24 pm

Si tengo instalada la version 1.4.0

y me da el siguiente error.

catalog/view/theme/Plantilla Toni/template/product/product.tpl on line 42

Esta es la famosa linia 42

<td><b><?php echo $text_manufacturer_url; ?></b></td>

Donde me dice que la variable text_manufacturer_url no esta definida.

Si Borro esta linia entonces me funciona correctamente.

Pero para rizar el rizo, como puedo hacer que se me habra en una ventana aparte de la tienda.

se que en html hay el comento "_blank", pero no se donde aplicar dicho comando.
Last edited by birmano on Fri Mar 12, 2010 12:26 am, edited 1 time in total.

Newbie

Posts

Joined
Thu Mar 04, 2010 7:34 pm

Post by birmano » Thu Mar 11, 2010 12:28 pm

Buenas de nuevo, si me he fijado el nombre de los fabricantes si me los guarda, pero las url del fabricante no.

Creo que es algo con la base de datos, que este registro concretamente no lo guarda bien, pero si que lo lee si lo entro manualmente desde phpadmin.

Siento no ser mas experto en este tema para poderte dar una información más precisa, pero si me guias no creo,
que tarde mucho en dar con el error.

Eres de gran ayuda para mi, espero poderte ayudar de alguna forma.

Te voy ha agregar una espacio en mi foro particular.

http://www.exodo.com.es/FORO

Newbie

Posts

Joined
Thu Mar 04, 2010 7:34 pm

Post by birmano » Thu Mar 11, 2010 1:01 pm

Revisando he visto que tampoco me actualiza bien los datos de las url.

Creo que es un error en la consulta que actualiza la base de datos.

Un saludo

Newbie

Posts

Joined
Thu Mar 04, 2010 7:34 pm

Post by birmano » Thu Mar 11, 2010 1:46 pm

Atención ya solucione una de las partes el de la base de datos y la consulta.

Efectivamente había un error por mi parte.

Bién, me voy quedando con la copla como se dice aquí.

No resulta muy cumplicado de modificar una vez sigues tus pasos.

Newbie

Posts

Joined
Thu Mar 04, 2010 7:34 pm

Post by birmano » Fri Mar 12, 2010 12:26 am

Si tengo instalada la version 1.4.0

y me da el siguiente error.

catalog/view/theme/Plantilla Toni/template/product/product.tpl on line 42

Esta es la famosa linia 42

<td><b><?php echo $text_manufacturer_url; ?></b></td>

Donde me dice que la variable text_manufacturer_url no esta definida.

Si Borro esta linia entonces me funciona correctamente.

Pero para rizar el rizo, como puedo hacer que se me habra en una ventana aparte de la tienda.

se que en html hay el comento "_blank", pero no se donde aplicar dicho comando.
Last edited by birmano on Thu Mar 11, 2010 10:56 pm, edited 1 time in total.
birmano

Posts: 12
Joined: Thu Mar 04, 2010 6:04 pm

Newbie

Posts

Joined
Thu Mar 04, 2010 7:34 pm

Post by cofran » Fri Mar 12, 2010 12:50 am

SI lo que me he olvidado fue indicar los cambios en el archivo de idiomas... en fin si ya lo has solucionado te comento como es lo de abrir un url en una nueva pagina:

Busca el cambio que te endicaba:

Code: Select all

              <?php if ($manufacturer) { ?>
              <tr>
                <td><b><?php echo $text_manufacturer; ?></b></td>
                <td><a href="<?php echo $manufacturers; ?>"><?php echo $manufacturer; ?></a></td>
              </tr>
              <tr>
                <td><b><?php echo $text_manufacturer_url; ?></b></td>
                <td><a href="<?php echo $manufacturer_url; ?>"><?php echo $manufacturer_url; ?></a></td>
              </tr>
              <?php } ?>
Y Reemplazalo por este:

Code: Select all

              <?php if ($manufacturer) { ?>
              <tr>
                <td><b><?php echo $text_manufacturer; ?></b></td>
                <td><a href="<?php echo $manufacturers; ?>"><?php echo $manufacturer; ?></a></td>
              </tr>
              <tr>
                <td><b>URL del Fabricante</b></td>
                <td><a href="<?php echo $manufacturer_url; ?>" target="_blank" alt="<?php echo $manufacturer; ?>"><?php echo $manufacturer_url; ?></a></td>
              </tr>
              <?php } ?>

User avatar
Active Member

Posts

Joined
Thu Oct 01, 2009 7:37 am
Location - Córdoba, Argentina

Post by birmano » Fri Mar 12, 2010 12:32 pm

Eres mi idolo, funciona perfectisimamente

Muchas gracias

Newbie

Posts

Joined
Thu Mar 04, 2010 7:34 pm

Post by Piradoxlanieve » Sat Jul 03, 2010 1:01 am

hola he realizado todos los pasos y casi me funciona al 100%, nose donde falla pero cuando pinchas en el enlace del fabricante va a la url siguiente

mi web es www.misitio.tld y en el link del fabricante pongo www.fabricante.tld

y me lleva a www.misitio.tld/www.fabricante.tld y claro la pagina no se muestra mi version es la 1.4.7 alguna idea???

Gracias.

New member

Posts

Joined
Wed May 05, 2010 7:29 am

Post by Piradoxlanieve » Sat Jul 03, 2010 1:05 am

Me respondo a mi mismo me faltaban poner las http:// en la url
Piradoxlanieve wrote:hola he realizado todos los pasos y casi me funciona al 100%, nose donde falla pero cuando pinchas en el enlace del fabricante va a la url siguiente

mi web es http://www.misitio.tld y en el link del fabricante pongo www.fabricante.tld

y me lleva a http://www.misitio.tld/www.fabricante.tld y claro la pagina no se muestra mi version es la 1.4.7 alguna idea???

Gracias.

New member

Posts

Joined
Wed May 05, 2010 7:29 am

Post by nightangel » Wed Sep 08, 2010 5:05 am

Que tal gente yo también seguí los pasos y me funciono de maravilla con la versión 1.4.8b, pero la consulta es la siguiente, hay posibilidad de acortar el url, al costado derecho de cada producto, ósea en ves de que salga toda la dirección url completa, salga solo una palabra como la marca por ejemplo, y al hacer clic en esa palabra haga todo el proceso de abrirse el link correspondiente.

Se puede hacer esto???


Desde ya muchas gracias.

Newbie

Posts

Joined
Wed Sep 08, 2010 4:49 am

Post by cofran » Wed Sep 08, 2010 7:38 am

tenes que configurar el sitio con urls cortas, desde Sistema Configuración pestaña "servidor" creo que es o algo asi y ahi esta, aparte de eso tenes que ponerle un nombre de url corta a cada fabricante, productos, categorías, etc

User avatar
Active Member

Posts

Joined
Thu Oct 01, 2009 7:37 am
Location - Córdoba, Argentina

Post by nightangel » Thu Sep 09, 2010 11:03 am

Gracias cofran por tu respuesta, pero no encontre la opcion que mencionaste, pero igual adjunto una imajen para explicarme mejor a lo que me refería en el mensaje anterior. en este momento estoy usando como url de fabricante una misma pagina del modulo información osea el link es de mi misma pagina , no externo, eso se nota en la imagen, entonces nuevamente la pregunta es: se puede hacer que ese url sea mas corto o que sea solo sea una palabra y al hacer clik en esa palabra me lleve al link correspondiente o mejor aun ( esta seria la mejor opción para mi) agregar un botón que lleve al link.
no se si esto es posible.

desde ya muchas gracias..

Image

Newbie

Posts

Joined
Wed Sep 08, 2010 4:49 am

Post by cofran » Thu Sep 09, 2010 12:55 pm

Si en una parte digo que pongas este código:

Code: Select all

$this->data['manufacturer_url'] = $product_info['url'];


bueno debajo de ese código pone este otro también.

Code: Select all

$this->data['manufacturer_name'] = $product_info['name'];
y en la parte donde pones (escribo solo un trozo del código):

Code: Select all

<tr>
                <td><b><?php echo $text_manufacturer_url; ?></b></td>
                <td><a href="<?php echo $manufacturer_url; ?>"><?php echo $manufacturer_url; ?></a></td>
              </tr>
reemplazalo por esto:

Code: Select all

<tr>
                <td><b><?php echo $text_manufacturer_url; ?></b></td>
                <td><a href="<?php echo $manufacturer_url; ?>"><?php echo $manufacturer_name; ?></a></td>
              </tr>
ni lo he probado pero debería de funcionar así, hace backup del archivo antes de modificarlo, saludos!

User avatar
Active Member

Posts

Joined
Thu Oct 01, 2009 7:37 am
Location - Córdoba, Argentina
Who is online

Users browsing this forum: No registered users and 66 guests