El uno que siempre es verdad
El catálogo de publicaciones del Ministerio de Derechos Sociales, Consumo y Agenda 2030 está programado para que, si eliges una unidad editora que no sea la Secretaría General Técnica, el desplegable de al lado, el de unidades proponentes, vuelva solo a «- Cualquiera -», y para que, si eliges una unidad proponente, el primero salte solo a la Secretaría. Lo decide una condición que empieza por un uno, que en este lenguaje quiere decir siempre.
- Dominio
- www.dsca.gob.es
- Guardado
- 31 AGO 2026
- Citas
- 6 en 2 ficheros guardados
- Lectura
- unos 3 min

El buscador tiene cuatro desplegables. Los dos primeros se llaman «Unidad editora:» y «Unidades proponentes:», y los dos arrancan en «- Cualquiera -». Uno elige el departamento que edita la publicación y, si quiere, el que la propuso, y pulsa buscar. Así se ven en nuestro navegador el 21 y el 28 de septiembre de 2026, los dos en cualquiera. Lo que no se ve es que los dos desplegables se vigilan entre sí, y que la vigilancia la hace un programa pequeño que la página carga al final, entre otros, con un nombre, tweak, que en inglés quiere decir retoque.
- Copia
- archivo
- Guardado
- 21 sep 2026
- Peso
- 79,8 kB
- sha256
- 4fb2484a3351…
| 1133 | <div class="view-filters"> |
| 1134 | <form class="views-exposed-form bef-exposed-form" data-drupal-selector=" |
| 1135 | <div class="form--inline clearfix"> |
| 1136 | <div class="js-form-item form-item js-form-type-textfield form-type-textfield js-form-item-title form-item-title"> |
| 1137 | <label for=" |
| 1138 | <input data-drupal-selector=" |
| 1139 | |
| 1140 | </div> |
| 1141 | <div class="js-form-item form-item js-form-type-select form-type-select js-form-item-field-publi-unidad-editora-value form-item-field-publi-unidad-editora-value"> |
| 1142 | <label for=" |
| 1143 | …value="All" selected="selected">- Cualquiera -</option><option value="Secretaría General Técnica">Secretaría General Técnica</option><option value="Agencia Española de Seguridad Alimentaria y Nutrición">Agencia Española de Seguridad Alimentaria y Nutrición</option><option… |
| 1144 | </div> |
| 1145 | <div class="js-form-item form-item js-form-type-select form-type-select js-form-item-field-publi-unidades-proponentes-value form-item-field-publi-unidades-proponentes-value"> |
| 1146 | <label for=" |
| 1147 | <select data-drupal-selector=" |
| 1148 | </div> |
| 1149 | <div class="js-form-item form-item js-form-type-select form-type-select js-form-item-field-publi-materia-tid form-item-field-publi-materia-tid"> |
| 1150 | <label for=" |
| 1151 | <select data-drupal-selector=" |
| 1152 | </div> |
| 1153 | <fieldset data-drupal-selector=" |
| 1154 | <legend> |
| 1502 | <script src="/ |
| 1503 | <script src="/ |
| 1504 | <script src="/ |
| 1505 | <script src="/ |
| 1506 | <script src="/ |
| 1507 | <script src="/ |
| 1508 | <script src="/ |
| 1509 | <script src="/ |
| 1510 | <script src="/ |
| 1511 | <script src="/ |
| 1512 | <script src="/ |
| 1513 | <script src="/ |
| 1514 | <script src="/ |
| 1515 | <script src="/ |
| 1516 | <script src="/ |
| 1517 | <script src="/ |
| 1518 | <script src="/ |
| 1519 | |
| 1520 | </body> |
| 1521 | </html> |
El programa lo explica con sus palabras, en un comentario: siempre que se elija una opción distinta de Secretaría General Técnica, el selector de unidades proponentes cambiará para tener el valor Cualquiera. Y el código hace eso: en cuanto uno elija otra unidad editora, el segundo desplegable se pondrá en Cualquiera él solo, y avisará al resto de la página de que ha cambiado. La regla de la casa es que solo la Secretaría General Técnica tiene unidades proponentes, y el programa la aplica sin decírselo a nadie.
- Copia
- archivo
- Guardado
- 31 ago 2026
- Peso
- 4,9 kB
- sha256
- b1197d2c3fca…
| 74 | */ |
| 75 | Drupal. |
| 76 | attach: function(context, settings) { |
| 77 | var selectUnidadEditora = $(' |
| 78 | var selectUnidadesProponentes = $(' |
| 79 | |
| 80 | function select_ |
| 81 | var selectValue = selectUnidadEditora.val(); |
| 82 | var targetValue = select |
| 83 | /** |
| 84 | * Siempre que se elija una opcion distinta de 'Secretaría General Técnica' el |
| 85 | * selector 'Unidades proponentes' cambiara para tener el valor '- Cualquiera -' |
| 86 | */ |
| 87 | if (1 |
| 88 | && selectValue !== 'Secretaría General Técnica' |
| 89 | && targetValue !== 'All') { |
| 90 | select |
| 91 | } |
| 92 | } |
| 93 | |
| 94 | function select_ |
| 95 | var targetValue = select |
| 96 | var selectValue = selectUnidadEditora.val(); |
La condición que lo decide tiene tres partes, y la primera es un uno. En JavaScript, el lenguaje de los programas que corren en el navegador, el número uno cuenta como verdadero, y una cadena de condiciones unidas por «y» empieza por él sin que cambie nada. Es un recurso conocido de taller: con un uno delante, cualquiera de las otras condiciones se puede apagar o encender sin descolocar el resto. Aquí no apaga ni enciende nada. Está puesto, y la condición da lo mismo con él que sin él.
- Copia
- archivo
- Guardado
- 31 ago 2026
- Peso
- 4,9 kB
- sha256
- b1197d2c3fca…
| 76 | attach: function(context, settings) { |
| 77 | var selectUnidadEditora = $(' |
| 78 | var selectUnidadesProponentes = $(' |
| 79 | |
| 80 | function select_ |
| 81 | var selectValue = selectUnidadEditora.val(); |
| 82 | var targetValue = select |
| 83 | /** |
| 84 | * Siempre que se elija una opcion distinta de 'Secretaría General Técnica' el |
| 85 | * selector 'Unidades proponentes' cambiara para tener el valor '- Cualquiera -' |
| 86 | */ |
| 87 | if (1 |
| 88 | && selectValue !== 'Secretaría General Técnica' |
| 89 | && targetValue !== 'All') { |
| 90 | select |
| 91 | } |
| 92 | } |
| 93 | |
| 94 | function select_ |
| 95 | var targetValue = select |
| 96 | var selectValue = selectUnidadEditora.val(); |
| 97 | /** |
| 98 | * Siempre que se elija una opcion distinta de '- Cualquiera -' el selector |
La regla tiene su espejo. Otra función vigila el segundo desplegable, con la misma condición y el mismo uno delante: si alguien elige una unidad proponente concreta y la editora no es la Secretaría, la editora salta sola a Secretaría General Técnica. Los dos desplegables se corrigen el uno al otro, cada uno con su uno. A quien no conozca la regla, la página está programada para cambiarle lo que acaba de elegir, y en la página no hay ningún texto que lo explique.
- Copia
- archivo
- Guardado
- 31 ago 2026
- Peso
- 4,9 kB
- sha256
- b1197d2c3fca…
| 94 | function select_ |
| 95 | var targetValue = select |
| 96 | var selectValue = selectUnidadEditora.val(); |
| 97 | /** |
| 98 | * Siempre que se elija una opcion distinta de '- Cualquiera -' el selector |
| 99 | * 'Unidad editora' cambiara para tener el valor 'Secretaría General Técnica' |
| 100 | */ |
| 101 | if (1 |
| 102 | && targetValue !== 'All' |
| 103 | && selectValue !== 'Secretaría General Técnica') { |
| 104 | select |
| 105 | } |
| 106 | } |
| 107 | |
| 108 | // Ocultar el span de unidad proponente si la unidad editora no es 'Secretaría General Técnica' |
| 109 | function toggle |
| 110 | $('.publi-body', context).each(function() { |
| 111 | var spanUnidadProponente = $(this). |
| 112 | var unidadEditora = $(this). |
| 113 | |
| 114 | if (unidadEditora !== 'Secretaría General Técnica') { |
| 115 | span |
El tercer desplegable, «Materia:», no lo vigila nadie, y tiene otro detalle. Su primera opción, la que sale marcada, dice «- Any -», en inglés, mientras las dos de arriba dicen «- Cualquiera -». Es la misma opción, la de no filtrar, y la sirve el mismo gestor de contenidos, Drupal, el programa con el que está hecha la web: en dos desplegables la etiqueta está traducida y en el tercero se quedó la que el gestor trae de fábrica, en inglés.

- Copia
- archivo
- Guardado
- 21 sep 2026
- Peso
- 79,8 kB
- sha256
- 4fb2484a3351…
| 1140 | </div> |
| 1141 | <div class="js-form-item form-item js-form-type-select form-type-select js-form-item-field-publi-unidad-editora-value form-item-field-publi-unidad-editora-value"> |
| 1142 | <label for=" |
| 1143 | <select data-drupal-selector=" |
| 1144 | </div> |
| 1145 | <div class="js-form-item form-item js-form-type-select form-type-select js-form-item-field-publi-unidades-proponentes-value form-item-field-publi-unidades-proponentes-value"> |
| 1146 | <label for=" |
| 1147 | <select data-drupal-selector=" |
| 1148 | </div> |
| 1149 | <div class="js-form-item form-item js-form-type-select form-type-select js-form-item-field-publi-materia-tid form-item-field-publi-materia-tid"> |
| 1150 | <label for=" |
| 1151 | …value="All" selected="selected">- Any -</option><option value="284">Administración pública</option><option value="58">Alimentación y Nutrición</option><option value="264">Animales domésticos y mascotas</option><option value="265">Animales y sociedad</option><option… |
| 1152 | </div> |
| 1153 | <fieldset data-drupal-selector=" |
| 1154 | <legend> |
| 1155 | <span class=" |
| 1156 | </legend> |
| 1157 | <div class="fieldset-wrapper"> |
| 1158 | <div class="js-form-item form-item js-form-type-select form-type-select js-form-item-field-publia-year-value-year form-item-field-publia-year-value-year form-no-label"> |
| 1159 | <select data-drupal-selector=" |
| 1160 | </div> |
| 1161 | |
| 1162 | </div> |
La página tiene además dos casas. La pedimos a consumo.gob.es, el dominio del antiguo Ministerio de Consumo, que existió como tal hasta 2023, y ya el 31 de agosto contestó www.dsca.gob.es, las siglas del ministerio actual, Derechos Sociales, Consumo y Agenda 2030. El catálogo es el mismo, con sus cuatro desplegables, y el programa de retoques también: el 21 de septiembre de 2026 lo pedimos y llegó idéntico, byte a byte, al que guardamos en agosto, y el 28 otra vez. Cambió el nombre del ministerio; el uno, no.
Nada de esto rompe el buscador: el uno de más no cambia el resultado de ninguna condición. Lo que enseña es cómo se entregó: dos condiciones con un interruptor que no apaga nada, y una palabra sin traducir en la casilla de al lado. El fichero que guardamos el 31 de agosto de 2026 tiene los dos unos, y la página, guardada de nuevo el 21 de septiembre, los dos rótulos y el Any. El 28 de septiembre seguían los tres.
Dos desplegables que se corrigen el uno al otro, cada uno con un uno delante que siempre es verdad. Y un Any donde tocaba Cualquiera.
- La página del catálogo de publicaciones pedida a consumo.gob.es y servida por www.dsca.gob.es, en la copia del 21 de septiembre de 2026 (la del 31 de agosto se sobrescribió en una recaptura y no se conserva), tiene los desplegables «Unidad editora:» y «Unidades proponentes:» con la opción inicial «- Cualquiera -», y el desplegable «Materia:» con la opción inicial «- Any -».
- Carga el fichero mdsc_tweak.js (4.892 bytes, guardado el 31 de agosto), donde dos funciones cambian un desplegable según el otro con condiciones que empiezan por «if (1», dos veces en el fichero; y el comentario del propio fichero describe la regla.
- El 21 y el 28 de septiembre de 2026 consumo.gob.es sigue mandando a www.dsca.gob.es y la página que sirve sigue trayendo los dos rótulos, el «- Any -» y la llamada al fichero, y el fichero es idéntico byte a byte al guardado.
- La titularidad de www.dsca.gob.es la prueba su dominio .gob.es, de asignación regulada, igual que la de consumo.gob.es, que manda a él.
- No decimos que la regla esté mal: que solo la Secretaría General Técnica tenga unidades proponentes es una decisión del ministerio y no la juzgamos.
- No decimos que el uno cambie ningún resultado: no lo cambia.
- No hemos usado el buscador ni enviado ninguna búsqueda; lo que describimos es lo que el programa hace cuando cambia un desplegable, leído en el fichero.
- Y no decimos por qué la opción de materia quedó en inglés, porque no consta.
De dónde sale cada cita
Cada trozo de código de esta ficha está en un fichero guardado tal como lo entregó el servidor, con su huella (sha256) y su hora. Las citas entre «» se comprueban por programa contra ese fichero antes de publicar.
- https://www.dsca.gob.es/es/servicio-a-la-ciudadania/catalogo-de-publicaciones-oficiales/publicaciones?page=421 de septiembre de 2026, 13:02archivosha256 4fb2484a33512fbc63fa0dbc8f0f06c2440d2e488c921e111ce258213ae5c263
- https://www.dsca.gob.es/modules/custom/mdsc_tweak/js/mdsc_tweak.js?v=10.5.831 de agosto de 2026, 15:58archivosha256 b1197d2c3fcab268122a1f94a841418d5e8920c5c02e85c842c5f9b227d0038f