¿Cómo puedo obtener una lista de grupos de tiendas en un sitio web en Magento y luego una lista de tiendas de ese grupo de tiendas?Obteniendo una lista de tiendas magento
Respuesta
Pruebe esto para conseguir los objetos directamente
Mage::app()->getWebsites(); < in file > app/code/core/Mage/Core/Model/App.php:920
Mage::app()->getStores(); < in file > app/code/core/Mage/Core/Model/App.php:834
iterar sobre conseguir el alcance necesario de un sitio web específico o almacenar
foreach (Mage::app()->getWebsites() as $website) {
foreach ($website->getGroups() as $group) {
$stores = $group->getStores();
foreach ($stores as $store) {
//$store is a store object
}
}
}
Para el futuro si tiene preguntas similares así es como he descubierto esas respuestas dentro de 60 segundos. En primer lugar i de grep para obtener nombres de los métodos o nombres de métodos similares con espacio antes de nombre de método para ver donde se definen los métodos
grep ' getStores' app/code -rsn
grep ' getWebsites' app/code -rsn
El segundo paso es grep para ejemplos de uso para ver cómo que están destinados a utilizar por los desarrolladores de núcleo. Para que agrego> methodName a grep y esto me da lista de archivos en el que se llama a este método y esto nos dará lugar para buscar ejemplos:
grep '>getWebsites' app/code -rsn
respuesta de Anton, mientras correcta, puede ser re-inventar la rueda un poco. Ya hay una instalación en Magento Core para recuperar este tipo de datos.
Puede recuperar una lista de todos los sitios web, y sus "niños" por medio de esto: Mage::getSingleton('adminhtml/system_store')->getStoresStructure()
También puede pasar una matriz de websiteIds, StoreID, o storeGroupIds a la función, para filtrar la lista:
public function getStoresStructure($isAll = false, $storeIds = array(), $groupIds = array(), $websiteIds = array())
Ejemplo de salida:
Array
(
[1] => Array
(
[value] => 1
[label] => Main Website
[children] => Array
(
[1] => Array
(
[value] => 1
[label] => Madison Island
[children] => Array
(
[1] => Array
(
[value] => 1
[label] => English
)
[2] => Array
(
[value] => 2
[label] => French
)
[3] => Array
(
[value] => 3
[label] => German
)
)
)
)
)
)
Existe una similar se utiliza para rellenar los "tienda de Alcance" menús desplegables y multi-selecciona todo el sección de administración.
Mage::getSingleton('adminhtml/system_store')->getStoreValuesForForm(false, true)
Array
(
[0] => Array
(
[label] => All Store Views
[value] => 0
)
[1] => Array
(
[label] => Main Website
[value] => Array
(
)
)
[2] => Array
(
[label] => Madison Island
[value] => Array
(
[0] => Array
(
[label] => English
[value] => 1
)
[1] => Array
(
[label] => French
[value] => 2
)
[2] => Array
(
[label] => German
[value] => 3
)
)
)
)
Para descubrir esto, encuentra una selección múltiple en la administración que tiene los datos que quería, entonces encendí plantilla consejos para saber qué clase de bloque era el encargado de mostrar que: Mage_Adminhtml_Block_Cms_Page_Edit_Form
. Sabiendo esto, encontré la clase en la base de código, (app/code/core/Mage/Adminhtml/Block/Cms/Block/Edit/Form.php) y localicé la parte que crea la entrada buscando su etiqueta ("Store Ver"). Esto me mostró cómo estaban siendo siempre los valores de la entrada:
$field =$fieldset->addField('store_id', 'multiselect', array(
'name' => 'stores[]',
'label' => Mage::helper('cms')->__('Store View'),
'title' => Mage::helper('cms')->__('Store View'),
'required' => true,
'values' => Mage::getSingleton('adminhtml/system_store')->getStoreValuesForForm(false, true),
));
Los Mage::getSingleton('adminhtml/system_store')
puntos a la clase Mage_Adminhtml_Model_System_Store
, donde encontré una variedad de métodos similares que también pueden ser útiles. Have a look for yourself.
'values' => Mage :: getSingleton ('adminhtml/system_store') -> getStoreValuesForForm (falso, cierto), funcionó a gusto !! – BENN1TH
- 1. Múltiples tiendas de magento en dominio único
- 2. Magento múltiples tiendas en combinación clientes Identidad de conexión
- 3. Magento: obteniendo el precio con descuento
- 4. Obteniendo una lista de unidades lógicas
- 5. SQL Alchemy - Obteniendo una lista de tablas
- 6. Obteniendo una lista pura de 'pyparsing.ParseResults'
- 7. Magento: Configuración de la página de inicio por defecto/tienda cuando tiene varias tiendas
- 8. Obtener una lista de opciones de atributo de Magento
- 9. obteniendo los límites de una lista de puntos x, y
- 10. Obteniendo una lista de físicos estadounidenses de DBpedia usando SPARQL
- 11. Obteniendo una lista de clases que incluyen un módulo
- 12. Obteniendo una lista de archivos en sass/compass
- 13. Obteniendo una lista de modelos relacionados en rieles
- 14. Obteniendo la lista de soluciones en Prolog
- 15. Múltiples tiendas y administradores múltiples con diferentes roles
- 16. ¿Debo evitar las tiendas Agile?
- 17. pitón obteniendo una lista de valor de la lista de dict
- 18. Cómo destruir tiendas en ExtJS 4.1?
- 19. Almacenamiento de imágenes en tiendas NoSQL
- 20. NSPersistentStoreCoordinator con dos tipos de tiendas persistentes?
- 21. Obteniendo la posición ordenada ¿Lista ordenable JQuery?
- 22. Obteniendo la lista Recepients en MFMailComposeViewController
- 23. ExtJS esperando la carga de varias tiendas
- 24. Magento de SOAP API Lista de producto paginación
- 25. Comprensión de las tiendas Key-Value
- 26. Obteniendo una lista de espacios de trabajo en una máquina específica con p4
- 27. Obteniendo una lista de métodos accesibles para una clase dada a través de la reflexión
- 28. Obteniendo la lista de campos de 'use fields' pragma?
- 29. Google App Engine y tiendas clave-valor
- 30. ¿Cómo sincronizo entre tiendas en Sencha Touch?
Muchas gracias hombre. ¡Eso fue muy útil! – Blazo
vóyelo y acéptelo para que otros puedan consultarlo en el futuro si resolvió su problema –
Sí, resolvió mi problema. Gracias de nuevo, y cómo votar, dice que necesito 15 reputación para votar – Blazo