entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

3votos

como crear un simple gestor de contenidos

necesito crear un generador de contenido dinamico que sea capaz de guardar una copia del contenido creado para poder volver a seguir generando mas contenido en un segundo momento

<!-- mini generador de contenidos  -->

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script>
//esta funcion crea un elemento div con dentro un parrafo 
/*cuando codificaba mi funcion me preguntaba si fuera posible crear los elementos y agregarlos al dom sin usar las variables porque me parece un poco absurdo usarlas para cada cosa si al final de cuentas nunca es variable */

    function generacion(){
        contenido = document.body;
        elemento = document.createElement('div');
        capa = contenido.appendChild(elemento);
        parrafo = document.createElement('p');
        parrafocreado = capa.appendChild(parrafo);
        parrafocreado.innerHTML="editar parrafo"

    }

/*aqui me viene la pregunta de que manera puedo editar singularmente cada parrafo que genero, debo hacer un ciclo for? */

        function editar()
        {
          parrafos = document.getElementsByTagName('p');
          campo = document.getElementById('campo').value;
          parrafos[0].innerHTML = campo;

        }

    </script>
</head>
<body>
    <h4>gestor de contenidos</h4>
    <button onclick="generacion()">generar elemento</button>
    <div>
        <p>parrafo editable</p>
        <button onclick="editar()">edit</button>
        <input type="text" id="campo">
    </div>
</body>
</html>

2 Respuestas

2votos

Leonardo-Tadei Puntos192410

Hola Stevenpro,

no tiene sentido crear un gestor de contenidos en JavaScript.

Con esta forma de usarlo, JavaScript se está ejecutando del lado del cliente, es decir, en el navegador.

Si bien podrías guardar algo, ya sea como contenido de una variable o vía LocaStorage, solo vos podrías verlo, porque los datos quedan en tu navegador únicamente.

Incluso abriendo otro navegador en la misma PC, no podrían verse los mismos datos.

La idea principal de un CMS es que lo que una persona escriba en un sitio web, otra persona pueda verlo visitando el sitio, como hacemos con las preguntas y respuestas de EntreDesarrolladores...

Para hacer esto, tenés que usar algún lenguaje que funcione y pueda almacenar datos del lado del servidor.

Saludos cordiales.

PD: si lo que querés hacer es algo que funcione y mantenga datos solo en tu propio navegador, entonces no es CMS y tendrías que aclararnos mejor de lo que s e trata.

steven comentado Diciembre 29, 2016

yo la descubri por casualidad es un set de herramientas integrado en la mayoria de los navegadores.

http://informatica.iesvalledeljerteplasencia.es/wordpress/herramientas-para-desarrolladores-de-google-chrome/

Leonardo-Tadei comentado Diciembre 29, 2016

Hola Steven,

las herramientas para desarrolladores están presentes desde hace unos años en casi todos los navegadores. Tiempo atrás se usaban como un pluging, pero se fueron agregando de forma nativa a los principales navegadores. En Firefox aparecen presionando F12, por ejemplo.

Lo que no veo es cuál es la opción del "workflow o area de trabajo" que te permite "subir la carpeta de sus proyectos y y trabajar en el navegador cuando guardas los cambios esto se puede reflejar en tu codigo principal.".

Sí hay opciones para guardar copias locales de archivos CSS y JS, pero no se parecen en nada a lo que mencionás.

Cómo se hace esto de "subir la carpeta de sus proyectos y y trabajar en el navegador cuando guardas los cambios esto se puede reflejar en tu codigo principal.", que es uno de los mecanismos de almacenamiento que querés usar???

steven comentado Diciembre 29, 2016

en la famosa set tools de chrome si esta disponibile subir tu propia carpeta y operar sobre ella como si lo hicieras con tu codigo principal, en firefox solo es posible operar sobre una copia generada que no afecta tu codigo principal.
creo que esta copia generada es conocida como el shadow dom o algo parecido
son copias locales nada mas, mi idea de guardar elementos generados dinamicamente solo seria posible si trabajara directamente con mi codigo principal pero lamentablemente esto no es posible por lo que estoy forzado ha y trabajar con local storage. si lees mi otra pregunta podras ver que tambien trabajar con esto me genera problemas porque no puedo guardar la estructura de mi codigo y mucho menos editarlo, en fin creo que abandonare esta idea porque se necesitan muchos conocimientos tecnicos y mucho debugeo

Leonardo-Tadei comentado Diciembre 29, 2016

... ahora entiendo a qué te referís... y también a que nunca lo probaste, ya que estas formas de guardar archivos, solo guardan el código original y no el contenido generado dinámicamente.

En realidad, no es que estés forzado a trabajar en localStorage por lo que estás diciendo, sino porque es la única tecnología que permite almacenar cosas programáticamente.

Yo te comentaba anteriormente Stevenpro: programar es apasionante y muy divertido, pero tu planteo de hacerlo medio a ciegas, medio a tontas y a locas, sin base alguna, te hace tomar caminos tortuosos e innecesariamente complicados para hacer cosas simples.

Programar, aunque sea la cosa mas simple y básica, requiere siempre muchos conocimientos técnicos y mucho debugueo. Copiar y pegar código que se encuentra por ahí sin entender lo que hace y por qué lo hace, no convierte a nadie en programador.

Te repito mi consejo: anotate a un curso de JavaScript o de PHP y aprendé las bases de todo esto. Luego, podrás continuar por tu cuenta desarrollándote de forma autodidacta y siendo muy crítico, tanto de tu código cómo del código de otros.

Suerte!

PD: de ser posible, cerrá esta pregunta así no queda indefinidamente sin solución.

steven comentado Diciembre 29, 2016

que lastima que despues de haber hablado tanto no se haya podido encontrar una solucion a mi problema de todos modos gracias por tu interees.
cordiales saludos y un felis año nuevo!!

2votos

Leonardo-Tadei Puntos192410

Hola Stevenpro,

te dejo acá abajo el más simple gestor de contenidos posible.

Se puede mejorar agregándole una barra de herramientas para poner líneas de separación horizontal o viñetas, pero así como está, te permite escribir libremente, guardar en local el contenido en el disco y luego abrirlo para seguir editando:

No es obligatorio, pero es recomendable que el archivo HTML que contenga esto se llame GestorDeProyectos.html

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
    <title>GestorDeProyectos</title>
    <style type="text/css">
        #txt{
            margin: 20px auto;
            padding: 20px;
            font-style: italic;
            border-bottom-color: silver;
            border-width: 1px;
            border-style: dotted;
        }
    </style>
</head>
<body>
<h3>Gestor de proyectos:</h3>
<div id="txt" contenteditable="true">
    Puede escribir aquí...
</div>
<p>Presione Ctrl+S para guardar</p>
</body>
</html>

Saludos cordiales y feliz año nuevo

Por favor ingresa o regístrate para responder a esta pregunta.

¿Conoces alguien que puede responder?
¡Comparte esta pregunta!


Actividad Reciente

¿Eres Usuario Apple?

...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta