Autor
|
Tema: ¿Cómo usar include() así? (Leído 2,101 veces)
|
Cergath
Desconectado
Mensajes: 340
|
Hola,
Estoy haciendo una plantilla básica para una demo, y tengo múltiples páginas, por lo que necesito ir alternando entre diferentes casos dependiendo de la página que se tenga abierta.
La lógica del asunto es que en la página que tiene los contenidos a incluir (digamos archivo.php), iba como "caso 1: muestra tal, caso 2: muestra tal"... Y en las páginas que incluyen ese archivo, va como "si caso 1, entonces incluir archivo.php caso 1", "si caso 2, entonces incluir archivo.php en caso 2"
Lo del condicional bueno, podría ser cualquier cosa, pero ¿existe un parámetro en el include para incluir solo un caso del archivo?
|
|
|
En línea
|
|
|
|
xiruko
Desconectado
Mensajes: 438
|
No te acabo de entender, pero bueno te dejo dos opciones por si es alguna de ellas: 1. caso_A.php echo "A!";
caso_B.php echo "B!";
main.php $caso = 1; if ($caso == 1) include('caso_A.php'); else include('caso_B.php'); // se mostrará 'A!'
2. caso_A.php echo ($caso == 1) ? 'Caso == 1!' : 'Caso != 1';
main.php $caso = 1; include('caso_A.php'); // se mostrará 'Caso == 1!'
Saludos!
|
|
|
En línea
|
|
|
|
Cergath
Desconectado
Mensajes: 340
|
Hola,
Oh, es como caso 2... Lo que quiero es ciertamente ahorrar en cantidad de archivos... Por lo que sería caso dos. Necesito es hacer esto:
Incluir ciertos <scripts /> y <link rel="stylesheet" /> en el footer y header (respectivamente) dependiendo de en qué pagina se encuentra.
El condicional es irrelevante, tal vez con $_SERVER['PHP_SELF'] ¿verdad?, pero bueno, lo que necesito saber es cómo puedo crear esto:
Archivo1.php contiene toooodos los casos, es decir, tooodos los scripts y estilos posibles, discriminados por casos, claro está.
index.php, calendario.php, perfil.php, etcétera, que hagan un include() (supongo yo, no sé), de Archivo1.php pero únicament en el caso que le corresponda, ¿es posible?
|
|
|
En línea
|
|
|
|
xiruko
Desconectado
Mensajes: 438
|
Sí, claro que es posible. Piensa que el include equivale a copiar-pegar el contenido del archivo incluído en el archivo en el que uses la directiva. Lo más sencillo para lo que pides sería usar un switch con $_SERVER['PHP_SELF'], aunque ten en cuenta que éste devuelve la ruta completa del archivo y no solo su nombre. Por ejemplo, si estás en www.dominio.com/articulos/articulo.php, eso te devolvería articulos/articulo.php. Y bueno, yo más que incluirlo absolutamente todo en un archivo, haría más bien dos. Un header.php, que tenga los estilos, las meta tags, etc. de cada uno de los demás archivos según un switch, y un footer con más de lo mismo. Edito: Para decir que separar el contenido en archivos es gratis, y a la hora de depurar suele ser más fácil que encontrarte absolutamente todas las funciones y demás en un solo archivo. Esto que comentas está bien para el header y el footer, pero yo suelo ser más partidario de hacer un archivo para cada cosa (por ejemplo, uno con todas las funciones para enviar distintos tipos de emails, otro para la clase que maneja la BBDD, otro para el ajax de cada sección, etc) más que juntar muchas cosas distintas en el mismo tiesto. Pero bueno, eso ya es gusto personal. Saludos!
|
|
« Última modificación: 12 Mayo 2015, 02:17 am por xiruko »
|
En línea
|
|
|
|
Cergath
Desconectado
Mensajes: 340
|
Oh, sí, sí, yo separé eso en dos archivos, como mínimo. No es un script como tal, sino que cada página llama casi que a un plugin js o estilo diferente, así que tener un archivo para cada uno sería tan complicado que para esa gracia creo páginas estáticas en html, jajaja... Switch, eso me serviría para cada script o estilo!, pero, ¿cómo hago el include de la página que lo incluye? no tengo idea if ($_SERVER['PHP_SELF'] == 'index.php') { include(???incluir script en particular del archivo archivo.php¿¿¿) }
|
|
|
En línea
|
|
|
|
poco_digo
Desconectado
Mensajes: 8
|
En PHP hay una forma de averiguar desde que script *.php se ha invocado a una funcion. Esto lo puedes usar para crear condicionales dentro de la función, y tomar decisiones dependiendo del origen de la llamada. Este dato PHP lo guarda en una vairable de sistema y lo usa return para volver al origen de la llamada.
Salu2
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
¿Cómo hago include() a una web externa?
PHP
|
Cergath
|
5
|
5,813
|
28 Junio 2009, 05:45 am
por HardieVon
|
|
|
#include <thread/AsyncCallback.h> #include <thread/Runnable.h>
GNU/Linux
|
Codename!!
|
1
|
3,085
|
18 Agosto 2011, 07:14 am
por Foxy Rider
|
|
|
#include <thread/AsyncCallback.h> #include <thread/Runnable.h>
Programación C/C++
|
Codename!!
|
0
|
2,269
|
15 Agosto 2011, 21:31 pm
por Codename!!
|
|
|
[include()] Como poder enlazar un js y css al código de include
PHP
|
moikano→@
|
2
|
2,865
|
28 Julio 2012, 11:13 am
por moikano→@
|
|
|
¿Se puede usar la librería de #include <ncurses> en C?
Programación C/C++
|
TeyaIV
|
1
|
2,833
|
11 Diciembre 2020, 03:34 am
por Loretz
|
|