• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

symfony codemirror

Object Storage Arubacloud
0 głosów
191 wizyt
pytanie zadane 23 kwietnia 2017 w PHP przez UltraSF Stary wyjadacz (11,740 p.)
Witam, formularz (tworzony przez klase type) która wyświetla tylko textarea, tam wpisuje się kod html, dodaje się i w taki sposób użytkownicy mogą pisać własne pod strony. Wiec dla ich wygody dodałem codemirror aby im ten kod html kolorował. Jednak gdy to zrobiłem przycisk od dodawania nie działa. Ktoś wie jak to zrobić?

1 odpowiedź

+2 głosów
odpowiedź 23 kwietnia 2017 przez Boshi VIP (100,240 p.)
A to jest w ogóle w formularzu? sprawdzałeś czy jest wysyłany?

chłopie zacznij coś debugować, a jak to robisz to pisz, że coś zrobileś, bo żaden z ciebie programista nie będzie jak z każdym pytaniem na forum przylatujesz.
komentarz 23 kwietnia 2017 przez UltraSF Stary wyjadacz (11,740 p.)
Jejku, jak tak ci przeszkadza to nie odpowiadaj, ciężko debagować, jeśli nic się nie dzieje. A przed dodanie codemirror wszystko działało, tak formularze.
komentarz 23 kwietnia 2017 przez Boshi VIP (100,240 p.)
Mam wrażenie, że jak ja ci nie odpowiem to ci tutaj nikt nie odpowie;] bo 2-3 osoby tu znają symfony..

sprawdzałeś chociaż czy formularz idzie? patrzyłeś czy submit jest w formularzu? może jakiś kawałek kodu? cokolwiek?

 

mattkkooo
komentarz 23 kwietnia 2017 przez UltraSF Stary wyjadacz (11,740 p.)

Wiem, jestem ci bardzo wdzięczny za to. Właśnie zanim dodałem codemirror wszystko działało. Dodawało się i tak dalej. A dodałem tylko codemirror i jest zero reakcji.

Type:

class PageType extends AbstractType
{
    /**
     * {@inheritdoc}
     */
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('title',TextType::class, [
                'attr'=>[
                    'autofocus'=>true,
                    'class'=>'form-control',
                    'placeholder'=>'Tytuł'
                ],'label'=>null
            ])
            ->add('content',TextareaType::class, [
                'attr'=>[
                    'class'=>'codemirror-textarea',
                    'rows'=>20,
                ],'label'=>null
            ]);
    }

    /**
     * {@inheritdoc}
     */
    public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults([
            'data_class'=>Page::class,
        ]);
    }

}

 

twig:

<div class="container">
    <h1>Dodawanie nowej strony</h1>
    {{ form_start(form) }}
        <div class="form-group">
            {{ form_row(form.title) }}
        </div>
        <div class="form-group">
            {{ form_row(form.content) }}
        </div>
        <input type="submit" value="Dodaj artykuł" class="btn btn-primary">
        {{ form_widget(form.saveAndCreateNew,{label: 'Zapisz i dodaj kolejny', attr:{class: 'btn btn-primary'} }) }}
        <a href="{{ path('admin_user') }}" class="btn btn-link">
            Powrót do listy artykułów
        </a>
    {{ form_end(form) }}
</div>

i podpięcie codemirror

<script src="{{ asset('assets/js/jquery.min.js') }}"></script>
<script src="{{ asset('assets/js/bootstrap.min.js') }}"></script>
<script src="{{ asset('plugins/codemirror/lib/codemirror.js') }}"></script>
<script src="{{ asset('plugins/codemirror/mode/xml/xml.js') }}"></script>
<script src="{{ asset('plugins/codemirror/mode/javascript/javascript.js') }}"></script>
<script src="{{ asset('plugins/codemirror/mode/css/css.js') }}"></script>
<script src="{{ asset('plugins/codemirror/mode/htmlmixed/htmlmixed.js') }}"></script>
<script src="{{ asset('plugins/codemirror/addon/edit/matchbrackets.js') }}"></script>
<script src="{{ asset('plugins/codemirror/doc/activebookmark.js') }}"></script>
<script>
    $(document).ready(function(){
        var code=$(".codemirror-textarea")[0];
        var editor=CodeMirror.fromTextArea(code,{
            lineNumbers:true,
            mode:"text/html",
            matchBrackets:true
        })
    });
</script>
komentarz 23 kwietnia 2017 przez UltraSF Stary wyjadacz (11,740 p.)
Oooo takie coś w konsoli chroma.

An invalid form control with name='page[content]' is not focusable.
komentarz 23 kwietnia 2017 przez UltraSF Stary wyjadacz (11,740 p.)

Problem rozwiązany wystarczyło nie walidować formularza

{{ form(form, {'attr': {'novalidate': 'novalidate'}}) }}

 

Podobne pytania

+2 głosów
1 odpowiedź 127 wizyt
pytanie zadane 3 kwietnia w PHP przez Panelinio Gaduła (4,110 p.)
+1 głos
1 odpowiedź 72 wizyt
pytanie zadane 2 kwietnia w PHP przez XiverKi Bywalec (2,050 p.)
0 głosów
1 odpowiedź 82 wizyt
pytanie zadane 27 lutego w PHP przez Panelinio Gaduła (4,110 p.)

92,555 zapytań

141,403 odpowiedzi

319,560 komentarzy

61,940 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...