Skip to content

PLUGINRANGERS-348 | Be able to toggle Doofinder Script at website level#476

Closed
davidmolinacano wants to merge 4 commits into
masterfrom
davidmolinacano/pluginrangers/348/toggle_doofinder_script_at_website_level
Closed

PLUGINRANGERS-348 | Be able to toggle Doofinder Script at website level#476
davidmolinacano wants to merge 4 commits into
masterfrom
davidmolinacano/pluginrangers/348/toggle_doofinder_script_at_website_level

Conversation

@davidmolinacano

@davidmolinacano davidmolinacano commented May 12, 2026

Copy link
Copy Markdown
Contributor

@sofia-doofinder sofia-doofinder left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@davidmolinacano quizás me estoy confundiendo pero se supone que ahora mismo una store de doofinder equivale con lo que magento2 llama group, no?

y tu estás aplicando la capa a nivel de website, o me estoy liando?

@davidmolinacano

davidmolinacano commented May 12, 2026

Copy link
Copy Markdown
Contributor Author

@davidmolinacano quizás me estoy confundiendo pero se supone que ahora mismo una store de doofinder equivale con lo que magento2 llama group, no?

y tu estás aplicando la capa a nivel de website, o me estoy liando?

Diría que el lío está en Magento, porque en verdad el scope de website hace alusión al store_group si no me equivoco. La prueba se ve en la propia captura, que ahora ese selector sale debajo de algo que, casualmente, se llama Store Group Configuration. De todos modos voy a revisarlo de nuevo

UPDATE: Acabo de revisar el campo que mencionaba y tiene la misma configuración:

                <field id="store_view_table"
                       translate="label comment"
                       type="text"
                       sortOrder="50"
                       showInDefault="0"
                       showInWebsite="1"
                       showInStore="0">
                    <label>Store Group Configuration</label>
                    <!-- This custom field uses a frontend model to render a table -->
                    <frontend_model>Doofinder\Feed\Block\Adminhtml\System\Config\StoreViewTable</frontend_model>
                    <comment>Manage Doofinder Store installations.</comment>
                </field>

@sofia-doofinder sofia-doofinder left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Es que hay algo que no me termina de encajar... te intento explicar, y si no lo vemos por slack.

La cosa es que nosotros almacenamos en base de datos un store_id (de doofinder) por cada store de magento (que es lo que ellos llaman store_group, creo recordar), pero lo que aparece en la captura del PR (aunque ponga eso de store group configuration) es a nivel de scope de magento de website, porque ahí estamos mostrando todas las store que hay creadas, no una en concreto.

La idea es poder acceder a una store en concreto y activarle / desactivarle la capa. Es decir para un store_id concreto poder activar / desactivar la capa. Que sería como venirse a este nivel, que es donde tenemos almacenado en base de datos el store_id

Image

pero si se hace desde el scope en el que tu te encuentras (main website) para cual de todas las store le estás activando / desactivando la capa?

Y otra pregunta @davidmolinacano, el botón debe de seguir pudiendose usar como hasta ahora, es decir para activar / desactivar la capa para todas las tiendas, y además poderla activar / desactivar para una en concreto.

@davidmolinacano

Copy link
Copy Markdown
Contributor Author

Es que hay algo que no me termina de encajar... te intento explicar, y si no lo vemos por slack.

La cosa es que nosotros almacenamos en base de datos un store_id (de doofinder) por cada store de magento (que es lo que ellos llaman store_group, creo recordar), pero lo que aparece en la captura del PR (aunque ponga eso de store group configuration) es a nivel de scope de magento de website, porque ahí estamos mostrando todas las store que hay creadas, no una en concreto.

La idea es poder acceder a una store en concreto y activarle / desactivarle la capa. Es decir para un store_id concreto poder activar / desactivar la capa. Que sería como venirse a este nivel, que es donde tenemos almacenado en base de datos el store_id
Image

pero si se hace desde el scope en el que tu te encuentras (main website) para cual de todas las store le estás activando / desactivando la capa?

Y otra pregunta @davidmolinacano, el botón debe de seguir pudiendose usar como hasta ahora, es decir para activar / desactivar la capa para todas las tiendas, y además poderla activar / desactivar para una en concreto.

Por contestar a la última, la reespuesta es que sí, sigue funcionando como antes, pero ahora también se puede activar/desactivar a nivel de website.

Sobre lo otro que decías, el problema es que el system.xml solo tiene 3 niveles: Default → Website → Store View. Si bien es cierto lo que dices que a nivel de website no cumpliríamos con las especificaciones, no nos quedaría otra que definirlo a nivel de store view, pues no existe el scope store group en el system.xml desgraciadamente (sospecho que por eso sale en gris)

@davidmolinacano

Copy link
Copy Markdown
Contributor Author

@davidmolinacano quizás me estoy confundiendo pero se supone que ahora mismo una store de doofinder equivale con lo que magento2 llama group, no?

y tu estás aplicando la capa a nivel de website, o me estoy liando?

Movido a store view (no es posible definirlo a nivel de store group por desgracia): c0a6f84

@sofia-doofinder

Copy link
Copy Markdown
Member

Pero @davidmolinacano si lo movemos a store-view que estamos haciendo? porque el script está definido a nivel de store-group, que estaríamos deshabilitando realmente? por search engine? esto no es posible hacer en la capa. No creo que este sea el sitio la verdad..

@davidmolinacano

Copy link
Copy Markdown
Contributor Author

Pero @davidmolinacano si lo movemos a store-view que estamos haciendo? porque el script está definido a nivel de store-group, que estaríamos deshabilitando realmente? por search engine? esto no es posible hacer en la capa. No creo que este sea el sitio la verdad..

Diría que ahora sí que sí 😄 c208965

@sofia-doofinder sofia-doofinder left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@davidmolinacano solo por asegurar, cuando se carga la capa en la tienda del cliente, no hay que mirar nada de este check? lo hace todo automáticamente magento?

@davidmolinacano

Copy link
Copy Markdown
Contributor Author

@davidmolinacano solo por asegurar, cuando se carga la capa en la tienda del cliente, no hay que mirar nada de este check? lo hace todo automáticamente magento?

Hay que hacerlo, de hecho se hace en uno de los cambios que hice:

    /**
     * Get display layer enabled
     *
     * @param string $scope
     * @param int|null $scopeId
     * @return int
     */
    public function getDisplayLayerEnabled(
        ?string $scope = ScopeConfigInterface::SCOPE_TYPE_DEFAULT,
        ?int $scopeId = null
    ): int {
        return (int)$this->getValueFromConfig(self::DISPLAY_LAYER_ENABLED, $scope, $scopeId);
    }

La justificación es que se guarda en la core_config_data en el mismo path que el scope global, pero en este caso con scope de group:

image

(Ignora websites y stores, esos eran de pruebas de antes de recibir tu feedback)

Por tanto, Magento por si solo priorizará los overrides más específicos si están definidos

@Acova Acova left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚀

@davidmolinacano

Copy link
Copy Markdown
Contributor Author

Pending validation with the Product team

@davidmolinacano

davidmolinacano commented May 14, 2026

Copy link
Copy Markdown
Contributor Author

After talking to @IgnacioPursalsZ I've just found out that the Live Layer can be enabled/disabled through Doofinder admin:

image

Therefore, this issue does not make sense anymore. It will change to "remove the toggle from all the plugins" and it should be always shown by default (so the visibility is controlled from the Doofinder admin and not from the plugin itself). Sorry for having wasted your time reviewing, @Acova and @sofia-doofinder . I'm closing this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Est: 2] Indexing issue when installed in Multi Store/website when not all stores use doofinder

3 participants