Pregunta

Estoy tratando de labrar la vista producto en un sitio de Drupal, pero estoy teniendo problemas. No puedo encontrar donde el (producto) vista nodo se junta en Ubercart!

Estoy usando UC 5.x-1.7, y necesito el estilo de la página de vista nodo (producto). En el momento en mi archivo node.tpl.php, tengo

print $body;
el que escupe toda la SKU, atributos, precio, imagen, etc.

El problema es que necesito tener esto en un estilo diferente - Tengo que trabajar en un diseño hecho por un diseñador. He comenzado a volver a hacer mi propia versión, utilizando las variables como

$node->content['body']['#value']
etc.

he tenido problemas tratando de trabajar con los diferentes atributos de un producto. No puedo encontrar la manera de conseguir que en mi página, o cualquier documentación sobre cómo trabajar con ellos desde el punto de vista de un codificador.

¿Hay una manera más fácil? ¿Dónde podría mirar el estilo de la pantalla existente (es decir, la variable $ corporal)?

Edit: mi tema se basa en el tema Zen

¿Fue útil?

Solución

Usted querrá mirar las plantillas que estarán bajo un camino como:

./sites/all/modules/ubercart/uc_product/views

Eso será un comienzo. Ahí es donde el nodo está construido probablemente.

Otros consejos

Si el problema es puramente estilo que puede escribir su propio CSS para hacer esto.

Puede utilizar el theamer módulo decirle qué archivos de plantilla a utilizar, yo supongo que hay algunos que vienen con Ubercart que se puede anular. Busque en la sección de plantilla candidato de la información

Por último, puede utilizar hook_nodeapi op = vista de controlar lo que realmente se en la página para mostrar en la variable $ cuerpo.

Si utiliza el módulo Devel, se puede ver la estructura exacta de las matrices y objetos, y agarrar exactamente lo que necesita desde el objeto $ nodo. a continuación, hacer un archivo con ganglios product.tpl.php, y reemplazar el contenido de la variable $ con esas partes. La mayoría de los valores de las variables tienen el marcado intacto.

Si desea cambiar el margen de beneficio para, por ejemplo, los atributos, es necesario cambiar la función de preproceso que procesa el div atributo. Si usted acaba de caer el id = "atributos" (clase tal vez? Me olvido) div desde el principio y al final, van a toda impresión de manera individual en su propia clase envoltorio = "atributo". Sólo tiene que añadir que a su archivo template.php.

A continuación, puede mover por toda la página con CSS, en lugar de tener a todos ellos atrapados en un div.

También puede utilizar el método anterior de la impresión de las variables de la página por separado para mover los diferentes elementos en torno a la marca.

Mucho de eso se puede hacer con CSS puro, pero es bueno tener marcado que no se rompa cuando mis-CSS muestra en malas navegadores.

Espero que esto es útil. No estoy seguro de si todo esto va a trabajar en Drupal 5, ya que estaba haciendo todo esto con 6 ... así que espero.

Este es un ejemplo de la utilización de hook_nodeapi como se ha mencionado por Jeremy francés:

/**
 * Implements hook_nodeapi().
 */
function YOUR_MODULE_nodeapi(&$node, $op, $arg3 = NULL, $arg4 = NULL) {
  switch ($op) {
    case 'view':
    // Don't show list price unless set.
    if (isset($node->content['list_price']) && $node->list_price == 0) {
      unset($node->content['list_price']);
    }
    break;
  }
}

Buscar en uc_product_view () en modules / Ubercart / uc_product / uc_product.module para ver los distintos campos de contenido.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top