• Как правильно подключить CMS на nginx?

    @Ufolob Автор вопроса
    Нет ли готового кода с примером? Или есь возможность на моем примере:
    location /news/ {
           root           /home/admin/web/test.ru/public_html/data/;
           index index.php index.html index.htm;
        }

    Указать, что мне нужно изменить, чтобы CMS заработала? Например, по указанной ссылке /new/ .
  • Как правильно подключить CMS на nginx?

    @Ufolob Автор вопроса
    dodo512, спасибо за ответ: assets/css/xxx.css , assets/img/xxx.ipg и т.п.
  • В чем ошибка при получении $store в nuxt?

    @Ufolob Автор вопроса
    Сергей, без вопросов у меня никак) Поблагодарил.
  • В чем ошибка при получении $store в nuxt?

    @Ufolob Автор вопроса
    Sponom, надо же и действительно сработало) Спасибо!
    Куда можно благодарность закинуть?
  • В чем ошибка при получении $store в nuxt?

    @Ufolob Автор вопроса
    Sponom, спасибо большое за ответы.
    Вывел action в index.js, только добавил async (а то ошибка была), объект news доступен на всех страницах и могу его использовать.
    ,
        actions: {
          async  nuxtServerInit ({ commit }, { req }) {
                let { data } = await axios.get('https://jsonplaceholder.typicode.com/users')
                commit('setNews', data)
            }
        }

    На странице _id.vue сделал код такой:
    validate ({ params, store }) {
                // Check if `params.id` is an existing category
                store.state.news.forEach(function(item) {
                    if (item.username === params.id) {
                        return true
                    }
    
                });
    
            }
    Но вот хоть тресни, validate() не работает. Хотя если делаю простую проверку, типа:
    validate ({ params, store }) {
                // Check if `params.id` is an existing category
                /*
                store.state.news.forEach(function(item) {
                    if (item.username === params.id) {
                        return true
                    }
    
                });
                */
                if ('Bret' === params.id) {
                    return true
                }
            }
    , то страница /news/Bret доступна, другие соот-но нет. Т.е. работает как надо.
  • В чем ошибка при получении $store в nuxt?

    @Ufolob Автор вопроса
    Sponom, спасибо, изменил порядок вызова Validate() и Fetch(), но пока без изменений. Что касается структуры, так у меня все и есть) . Т.е. есть два файла, и в pages/news/_id.vue я как раз и делаю validate(). Просто в доках нет конкретного примера с Json и полученным новым state (в моем случае news).
    Не подскажешь какую переменную мне передавать в validate() в моем случае? store или news ? И как ее использовать? Вот текущий код:
    import axios from 'axios'
        import { mapState } from 'vuex'
        import { mapMutations } from 'vuex'
        import { mapActions } from 'vuex'
    
        import PageHeader from '~/components/header.vue'
        import FooTer from '~/components/footer.vue'
        export default {
            components: { PageHeader, FooTer  },
            computed:{
                ...mapState(['news'])
            },
            validate ({ params, news }) {
                // Check if `params.id` is an existing category
                news.forEach(function(item) {
                    if (item.username === params.id) {
                        return true
                    }
    
                });
            },
            async fetch ({ store, params }) {
                let { data } = await axios.get('https://jsonplaceholder.typicode.com/users')
                store.commit('setNews', data)
    
            }
    
    
    
        }

    Большое спасибо за отзывчивость!
  • В чем ошибка при получении $store в nuxt?

    @Ufolob Автор вопроса
    Sponom, не сможешь подсказать еще в одном вопросе? Вот теперь никак не догоню как мне это использовать для validate(). Код такой:
    async fetch ({ store, params }) {
                let { data } = await axios.get('https://jsonplaceholder.typicode.com/users')
                store.commit('setNews', data)
    
            },
    
            validate ({ params, news }) {
                // Check if `params.id` is an existing category
                news.forEach(function(item) {
                    if (item.username === params.id) {
                        return true
                    }
    
                });
              }

    Как мне правильно организовать проверку url, есть ли они в массиве news? Для примера пока использую тестовый json и пытаюсь сравнить с username. Если пытаюсь использовать в функции как переменную this.store вот так:
    validate ({ params, this.news }) {
                // Check if `params.id` is an existing category
                this.news.forEach(function(item) {
                    if (item.username === params.id) {
                        return true
                    }
    
                });
    то страница ругается. Если использовать просто new, то ничего не работает. Пробывал передавать в validate store и вызывать там уже store.state.news - все равно не помогает. В чем может быть ошибка?
  • В чем ошибка при получении $store в nuxt?

    @Ufolob Автор вопроса
    Sponom, спасибо большое, заработало! Очень выручили.
  • В чем ошибка при получении $store в nuxt?

    @Ufolob Автор вопроса
    Поправил вывод computed, добавив троеточие, сейчас страница не ругается. Но в консоли такая же ошибка "[vuex] unknown mutation type: setStars". И соответственно переменная stars ничего не выводит.
  • В чем ошибка при получении $store в nuxt?

    @Ufolob Автор вопроса
    Попробовал. Не помогло. Точнее при добавлении
    import axios from 'axios'
        import { mapState } from 'vuex'
        import { mapMutations } from 'vuex'
        import { mapActions } from 'vuex'
    
        import PageHeader from '~/components/header.vue'
        import FooTer from '~/components/footer.vue'
        export default {
            components: { PageHeader, FooTer  },
            computed:{
                mapState(['stars'])
            },
    
            async fetch ({ store, params }) {
                let { data } = await axios.get('https://jsonplaceholder.typicode.com/users')
               store.commit('setStars', data)
    
            }
    
        }
    страница ругается на строку "mapState(['stars'])". Как правильно добавить computed?
    В целом (в первоначальном варианте), в консоли такая ошибка "[vuex] unknown mutation type: setStars".
    Код index.js такой:
    import Vue from 'vue'
    import Vuex from 'vuex'
    
    Vue.use(Vuex)
    
    const store = () => new Vuex.Store({
    
        state: {
            counter: 0
        },
        mutations: {
            increment (state) {
                state.counter++
            }
        }
    })
    
    export default store
  • Как правильно скопировать свойства объекта в anjular.js?

    @Ufolob Автор вопроса
    Спасибо за оперативный и правильный ответ.
  • Вставляется в код ненужная запись?

    @Ufolob Автор вопроса
    Stalker_RED, спасибо- в итоге помогло. Сделал только так: $('.form_vk_save textarea').serialize() . Все ненужное перестало прилепать.
  • Вставляется в код ненужная запись?

    @Ufolob Автор вопроса
    Stalker_RED, спасибо за наводку, попробую и отпишусь.
  • Вставляется в код ненужная запись?

    @Ufolob Автор вопроса
    Stalker_RED, спасибо за отзывчивость, вот:
    <div  class="form_vk_save">
    							
    								 	<div style="clear:both;"></div>
    								 	<h3>или напишите комментарий анонимно...</h3>
    								 	<input type="text" name="vk_name" placeholder="Ваше имя" value='' class="form-control send_vk_name">
    								 	<h4 class="for_reply"></h4>
    								 	<input type="hidden" class="send-id-reply" value="0">
    								 	<input type="hidden" class="send-status-reply" value="">
    								 	<input type="hidden" class="name_reply" value="">
    								 	<textarea id="new_comment" name="vk_text" placeholder="Текст комментария"  cols="30" rows="10" class="form-control"></textarea>
    								 	<div class="emojis">
                    		<img src="/assets/emoji/smile.svg" alt=":)" onclick="smile('&#128522;');">
                    		<img src="/assets/emoji/wink.svg" alt=";)" onclick="smile('&#128521;');">
                    		<img src="/assets/emoji/biggrin.svg" alt=":D" onclick="smile('&#128513;');">
                    		<img src="/assets/emoji/sad.svg" alt=":(" onclick="smile('&#128530;');">
                    		<img src="/assets/emoji/cry.svg" alt=":cry:" onclick="smile('&#128549;');">
                    		<img src="/assets/emoji/neutral.svg" alt=":|" onclick="smile('&#128528;');">
                    		<img src="/assets/emoji/surprised.svg" alt=":o" onclick="smile('&#128558;');">
                    		<img src="/assets/emoji/razz.svg" alt=":P" onclick="smile('&#128539;');">
                    		<img src="/assets/emoji/cool.svg" alt="8-)" onclick="smile('&#128526;');">
                    		<img src="/assets/emoji/redface.svg" alt=":oops:" onclick="smile('&#128563;');">
                    		<img src="/assets/emoji/rolleyes.svg" alt=":roll:" onclick="smile('&#128530;');">
                    		
                    	</div>

    var vk_send = "&reply=" + $('.send-id-reply').val() + "&name_reply=" + $('.name_reply').val()  + "&status=" + $('.send-status-reply').val() + "&text_comment=" + $('.form_vk_save textarea').val() + "&name=" + $('.send_vk_name').val() + "&id_page=" + id_page + "&id_post=" + $('.vk_post_id').val() + "&parent=" + {$_modx->resource.parent}
    
    		var canclick=1;
    		    if(canclick ==1){
    							$.ajax
    							({
    							  type: "POST",
    							  url: "ajax/save_comment.php",
    							  dataType: "json",
    							  data: vk_send,
    							  beforeSend: function(){
         							canclick =0;
                    },
    							  success: function(result_vk)
    							  	{
    							  		
    								  	if (result_vk.success) {
    								  	$('.loding').hide();
    								  	var current_count_comm = [[+sum_comments]];
    								  	if(current_count_comm != 0){
    								  	$('.vk_comment:last').after(result_vk.response);
    								  	}
    								  	else{
    								  		$('.box_vk_comments').html(result_vk.response);
    								  	}
    								  	$('.new-comment').animate( { "background-color": "white" } , 2000);
    								  	$('#UploadifyResponse').empty();
    								  	$('textarea.form-control').val('');
    								  	}
    								  	else{ alert('Произошла ошибка сервера');}
    								  	canclick =1;
    								  	$('.save_comment').prop('disabled',false);
    							  	}
    							 });
    				}			 
    		}