+10.35
Рейтинг
25.74
Сила
  • avatar kpoxas
  • 0
да, погорячился не 1.0.3, а для транковой
при чем пути шаблона могут измениться
  • avatar kpoxas
  • 0
та тот шаблон только в том месте и применяется, вряд ли какой плагин его будет менять. Можно извратиться и навесить хук с внедрением html в форму, до инициализации модальных окон
  • avatar kpoxas
  • 1
Чтоб работало в 1.0.3

в PluginRemotephoto.class.php после Inherits добавляем:
public $aDelegates = array(
        'template' => array(
            'modals/modal.photoset_add_photo.tpl' => '_modal.photoset_add_photo.tpl',
        ),
);


Создаем файл шаблона plugins/remotephoto/templates/skin/default/modal.photoset_add_photo.tpl
{**
 * Загрузка изображения
 *
 * @styles css/modals.css
 *}

{extends file='modals/modal_base.tpl'}

{block name='modal_id'}modal-photoset-upload{/block}
{block name='modal_class'}js-modal-default{/block}
{block name='modal_title'}{$aLang.uploadimg}{/block}

{block name='modal_header_after'}
    <ul class="nav nav-pills nav-pills-tabs" data-type="tabs">
		<li data-type="tab" data-option-target="tab-photoset-upload-pc" class="active"><a href="#">{$aLang.uploadimg_from_pc}</a></li>
		<li data-type="tab" data-option-target="tab-photoset-upload-link"><a href="#">{$aLang.uploadimg_from_link}</a></li>
	</ul>
{/block}

{block name='modal_content_after'}
    <form id="photoset-upload-form" method="POST" enctype="multipart/form-data" onsubmit="return false;" >
    <div data-type="tab-content">

        <div id="tab-photoset-upload-pc" class="tab-pane" data-type="tab-pane" style="display: block">
            <div class="modal-content">
                <label>{$aLang.topic_photoset_choose_image}:</label>
                <input type="file" id="photoset-upload-file" name="Filedata" />

                <input type="hidden" name="is_iframe" value="true" />
                <input type="hidden" name="topic_id" value="{$_aRequest.topic_id}" />
            </div>
        </div>

        <div id="tab-photoset-upload-link" class="tab-pane" data-type="tab-pane" >
            <div class="modal-content">
                <label for="photoset-upload-link">{$aLang.uploadimg_url}:</label>
                <input type="text" name="photoset-upload-link" id="photoset-upload-link" value="http://" class="input-text input-width-full" />
            </div>
        </div>

	</div>
    </form>

{/block}

{block name='modal_footer_begin'}
    <button type="submit" class="button button-primary" onclick="ls.photoset.upload();">{$aLang.topic_photoset_upload_choose}</button>
{/block}


Меняем содержимое файла inject_link.tpl на
<script type="text/javascript">
    jQuery(document).ready(function($) {
        $("#photoset-start-upload").first()
                .attr('onclick','jQuery(\'[data-option-target=tab-photoset-upload-pc]\').tab(\'activate\');')
                .after('
<a href="#" onclick="jQuery(\'[data-option-target=tab-photoset-upload-link]\').tab(\'activate\');" id="photoset-start-upload-link" data-type="modal-toggle" data-option-target="modal-photoset-upload" class="link-dotted">{$aLang.plugin.remotephoto.add_link_text}</a><br />');

        ls.hook.inject([ls.photoset,'upload'], 'if ($("#tab-photoset-upload-pc").isVisible().is(":visible")) { $("#photoset-upload-file").val("");} else { $("#photoset-upload-link").val("http://"); }');
    });
</script>


Суть изменений — работа с лсовскими модальными окнами.
  • avatar kpoxas
  • 1
Наверное, потому что изначально задана сортировка по релевантности:
/**
 * Устанавливаем тип сортировки
 */
$this->oSphinx->SetSortMode(SPH_SORT_EXTENDED, "@weight DESC, @id DESc");
  • avatar kpoxas
  • 0
public function InfoUPTovar($TidM,$id) {

		$price = 1.2;
		$stock = 10;
		$weight = 30;
		$name = 'Тарелка';

			
			if($this -> oMapperTovar -> UpdataZtovars($price,$stock,$weight,$TidM,$name)) {
				$data = $this -> oMapperTovar -> InsertTovarSkladStat($price,$stock,$id,time());
			}
			return $data;
	}

$data вернется с данными только первый раз (когда они будут отличатся — о чем я писал выше), в противном случае переменная будет неопределена
  • avatar kpoxas
  • 0
а приведите, пожалуйста, полный код
  • avatar kpoxas
  • 0
просто он даже не выходит из запроса, и не возвращает не чего
Не выходит — это зависает что ли?
  • avatar kpoxas
  • 0
$this->oDb->query отдает при UPDATE запросе количество измененных записей. Следовательно, при одинаковых запросах будет отдаваться 0 или false (точно не уверен).
  • avatar kpoxas
  • 0
спасибо, я где-то видел еще с реальными тестами.
  • avatar kpoxas
  • 0
давайте не будем холиварить. Здесь в ветке приведены объективно дововоды. Пусть уже юзер сам выбирает.
  • avatar kpoxas
  • 0
у меня при росте посещаемости, в топе остается только apache либо php-fpm. Мускул живет и здравствует на MyISAM.
  • avatar kpoxas
  • 0
И с какого-то момента (high load), MyISAM умирает полностью.
Тут можно поподробней. Почему умирает и как надо нагрузить, чтобы это произошло?
  • avatar kpoxas
  • 0
я не спорю про заявленные характеристики обоих типов, но все же говорить, что MyISAM умерло, все же рано.
Я просто дал советы по практическому использованию. Разные проекты имеют разное отношение запросов insert/update/select. И в выигрыше по производительности InnodB над MyISAM в зависимости от преобладания тех или иных запросов не все так однозначно.
  • avatar kpoxas
  • 0
я не за MyISAM, просто у меня InnoDB конкретно в моем случае не подошло. Возможно, если его масштабировать и правильно разносить нагрузку, то это довольно мощный тип.
  • avatar kpoxas
  • 0
200 запросов в сек имеется в виду. Кластер из 8 скриптов при тестировании делал до 1,5k записей в сек.
  • avatar kpoxas
  • 0
параллельно у меня висит скрипт на nodejs который пишет стату просмотров топика.
У него пул в 5 персистент-коннектов к БД. Обрабатывает успешно 200 инсерт/апдейт запросов. Таблицы все в MyISAM.
Таблица, куда пишется стата, участвует в выборке.
На работе сайта никак не сказывается.
  • avatar kpoxas
  • 0
это практически не заметно
  • avatar kpoxas
  • 0
P.S. Я думаю тут масштабируемостью можно пожертвовать.
  • avatar kpoxas
  • 1
не согласен.
Однозначно нельзя так говорить. InnoDB лучше в плане надежности. Но на нагруженных проектах у вас эта надежность аукнется тем, что инсерт и апдейт запросы по базе будут увеличиваться по времени из-за большого количества селектов в это время. У InndoDB да, блокировка может осуществляться на уровне строк, но по сути оно навесит вам еще блоки на все реляции.
У меня лично траблы с InnoDB начались после 50к посетителей из-за innodb_flush_log_at_trx_commit = 1 (2 существенно не влияло). И решались установкой параметра в 0, из-за чего вся надежность исчезала. После чего пришлось перейти на MyISAM.
Да если думаете, что во всем виновато железо, то работает все на Intel® Xeon® CPU E5-2620 0 @ 2.00GHz 64Гб ОЗУ. Так что для мускула простора много.
  • avatar kpoxas
  • 0
Можно и MyISAM. Изменение информации по форейн ключам дублируется в функционале лс, так что потери данных не будет, а вот скорость работы заметно будет быстрее с MyISAM.